Search
lxdream.org :: lxdream/src/cocoaui/paths_osx.m
lxdream 0.9.1
released Jun 29
Download Now
filename src/cocoaui/paths_osx.m
changeset 1024:c67f2d61ab97
prev1021:848db285a184
next1038:f220d18c0615
author nkeynes
date Sat Jun 13 00:50:48 2009 +0000 (13 years ago)
permissions -rw-r--r--
last change Build drivers with library dependencies as shared objects (ie plugins)
view annotate diff log raw
     1 /**
     2  * $Id$
     3  *
     4  * Cocoa builds need to use different paths from ordinary builds, since
     5  * the message catalogs, default config, etc are all bundle-relative.
     6  * Otherwise paths use the standard unix install paths
     7  *
     8  * Copyright (c) 2008 Nathan Keynes.
     9  *
    10  * This program is free software; you can redistribute it and/or modify
    11  * it under the terms of the GNU General Public License as published by
    12  * the Free Software Foundation; either version 2 of the License, or
    13  * (at your option) any later version.
    14  *
    15  * This program is distributed in the hope that it will be useful,
    16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    18  * GNU General Public License for more details.
    19  */
    21 #include <string.h>
    23 #include "lxdream.h"
    25 #include <AppKit/AppKit.h>
    27 static char *bundle_resource_path = NULL;
    28 static char *bundle_plugin_path = NULL;
    30 static char *get_bundle_resource_path()
    31 {
    32     if( bundle_resource_path == NULL ) {
    33         NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    34         NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
    35         bundle_resource_path = strdup([resourcePath UTF8String]);
    36         [pool release];
    37     }
    38     return bundle_resource_path;    
    39 }
    41 const char *get_sysconf_path()
    42 {
    43     return get_bundle_resource_path();
    44 }
    46 const char *get_locale_path()
    47 {
    48     return get_bundle_resource_path();
    49 }
    51 const char *get_plugin_path()
    52 {
    53     if( bundle_plugin_path == NULL ) {
    54         NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    55         NSString *pluginPath = [[NSBundle mainBundle] builtInPlugInsPath];
    56         bundle_plugin_path = strdup([pluginPath UTF8String]);
    57         [pool release];
    58     }
    59     return bundle_plugin_path;    
    60 }
.