filename | src/cocoaui/paths_osx.m |
changeset | 1041:5fcc39857c5c |
prev | 1038:f220d18c0615 |
next | 1297:7e98a164b2d9 |
author | nkeynes |
date | Thu Jun 10 22:13:16 2010 +1000 (13 years ago) |
permissions | -rw-r--r-- |
last change | Integrate executable wrapping into the user interface - command-line now loads wrapped by default, -e <bin> to run binary - add support for .bin executables - Add useful (internal) error codes |
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>
22 #include <glib/gstrfuncs.h>
24 #include "lxdream.h"
25 #include "lxpaths.h"
27 #include <AppKit/AppKit.h>
29 static char *bundle_resource_path = NULL;
30 static char *bundle_plugin_path = NULL;
31 static char *user_data_path = NULL;
33 static char *get_bundle_resource_path()
34 {
35 if( bundle_resource_path == NULL ) {
36 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
37 NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
38 bundle_resource_path = strdup([resourcePath UTF8String]);
39 [pool release];
40 }
41 return bundle_resource_path;
42 }
44 const char *get_sysconf_path()
45 {
46 return get_bundle_resource_path();
47 }
49 const char *get_locale_path()
50 {
51 return get_bundle_resource_path();
52 }
54 const char *get_plugin_path()
55 {
56 if( bundle_plugin_path == NULL ) {
57 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
58 NSString *pluginPath = [[NSBundle mainBundle] builtInPlugInsPath];
59 bundle_plugin_path = strdup([pluginPath UTF8String]);
60 [pool release];
61 }
62 return bundle_plugin_path;
63 }
66 const char *get_user_data_path()
67 {
68 if( user_data_path == NULL ) {
69 char *home = getenv("HOME");
70 user_data_path = g_strdup_printf( "%s/Library/Application Support/Lxdream", home );
71 }
72 return user_data_path;
73 }
.