mirror of https://github.com/odrling/Aegisub
Document using the Doxygen format.
Originally committed to SVN as r3304.
This commit is contained in:
parent
7f9099da90
commit
373c0057b2
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
Copyright (c) 2008-2009 Niels Martin Hansen
|
||||
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
|
@ -26,6 +26,10 @@
|
|||
POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/** @file bundledirs.c
|
||||
@brief Get various paths from within an OS X bundle.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/param.h>
|
||||
#include <CoreFoundation/CFBundle.h>
|
||||
|
@ -34,7 +38,7 @@
|
|||
|
||||
#include "libosxutil.h"
|
||||
|
||||
|
||||
/** @todo document me. */
|
||||
typedef CFURLRef (*GetURLFunc)(CFBundleRef);
|
||||
|
||||
static char * GetDir(GetURLFunc GetURL)
|
||||
|
@ -110,17 +114,17 @@ char * OSX_GetBundleAuxillaryExecutablePath(const char *executableName)
|
|||
|
||||
exename_str = CFStringCreateWithCString(NULL, executableName, kCFStringEncodingUTF8);
|
||||
if (!exename_str) return NULL;
|
||||
|
||||
|
||||
bundle = CFBundleGetMainBundle();
|
||||
if (!bundle) return NULL;
|
||||
|
||||
|
||||
res_dir_url = CFBundleCopyAuxiliaryExecutableURL(bundle, exename_str);
|
||||
CFRelease(exename_str);
|
||||
if (!res_dir_url) return NULL;
|
||||
|
||||
|
||||
res = CFURLGetFileSystemRepresentation(res_dir_url, true, (UInt8*)res_dir_str, MAXPATHLEN);
|
||||
CFRelease(res_dir_url);
|
||||
|
||||
|
||||
if (res == false)
|
||||
return NULL;
|
||||
else
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
Copyright (c) 2008-2009 Niels Martin Hansen
|
||||
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
|
@ -26,50 +26,90 @@
|
|||
POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
Utility functions for running regular *NIX libraries inside application
|
||||
bundles on Apple Macintosh OS X.
|
||||
|
||||
The GetBundle*Directory functions return the paths of directories inside
|
||||
the appliaction bundle where the application can store static data and
|
||||
shared libraries for its own use.
|
||||
(The bundle and its contents should be considered read-only.)
|
||||
|
||||
When linking with this library, be sure to add '-framework CoreFoundation'
|
||||
to the GCC commandline.
|
||||
/** @file libosxutil.h
|
||||
* @brief OSX utilities
|
||||
*
|
||||
* Utility functions for running regular *NIX libraries inside application
|
||||
* bundles on Apple Macintosh OS X.
|
||||
*
|
||||
* The GetBundle*Directory functions return the paths of directories inside
|
||||
* the appliaction bundle where the application can store static data and
|
||||
* shared libraries for its own use.
|
||||
* (The bundle and its contents should be considered read-only.)
|
||||
*
|
||||
* When linking with this library, be sure to add '-framework CoreFoundation'
|
||||
* to the GCC commandline.
|
||||
|
||||
* @note All strings returned by these functions are allocated by strdup(), it is
|
||||
* the responsibility of the caller to free() them.
|
||||
* All of the functions may return NULL on error.
|
||||
*/
|
||||
|
||||
/*
|
||||
All strings returned by these functions are allocated by strdup(), it is
|
||||
the responsibility of the caller to free() them.
|
||||
All of the functions may return NULL on error.
|
||||
*/
|
||||
|
||||
/* Get the full name of the bundle itself. May return NULL if the current
|
||||
executable is not inside a bundle. */
|
||||
/** @brief Get the full name of bundle.
|
||||
* @return Full name of bundle.
|
||||
* Get the full name of the bundle itself.
|
||||
*
|
||||
* @warning May return NULL if the current executable is not inside a bundle.
|
||||
*/
|
||||
char * OSX_GetBundlePath();
|
||||
|
||||
/* Get the resources directory, mainly for user interface elements
|
||||
such as graphics and strings */
|
||||
/** @brief Get the esources directory.
|
||||
* @return Resources directory.
|
||||
*
|
||||
* Mainly for user interface elements such as graphics and strings
|
||||
*/
|
||||
char * OSX_GetBundleResourcesDirectory();
|
||||
/* Get the built-in plugins directory. This is generaly only used by native
|
||||
Carbon and Cocoa applications. It is not for general shared libraries. */
|
||||
|
||||
/** @brief Get the built-in plugins directory.
|
||||
* @return Built-in plugins directory.
|
||||
*
|
||||
* This is generaly only used by native Carbon and Cocoa applications. It is
|
||||
* not for general shared libraries.
|
||||
*/
|
||||
char * OSX_GetBundleBuiltInPlugInsDirectory();
|
||||
/* Get the frameworks directories. These are suitable locations for shared
|
||||
libraries.
|
||||
Does anyone know the difference between private and shared frameworks
|
||||
inside a bundle? */
|
||||
|
||||
/** @brief Get the private Frameworks directory.
|
||||
* @return Private Framework directory.
|
||||
*
|
||||
* These are suitable locations for shared libraries.
|
||||
*/
|
||||
char * OSX_GetBundlePrivateFrameworksDirectory();
|
||||
|
||||
/** @brief Get the shared Frameworks directory.
|
||||
* @return Shared Framework directory.
|
||||
*
|
||||
* @see OSX_GetBundlePrivateFrameworksDirectory()
|
||||
* @note Does anyone know the difference between private and shared frameworks
|
||||
* inside a bundle?
|
||||
*/
|
||||
char * OSX_GetBundleSharedFrameworksDirectory();
|
||||
/* Get the shared support directory, this is a suitable location for static
|
||||
configuration files. (Remember, bundle is considered read-only.) */
|
||||
|
||||
/** @brief Get the shared support directory
|
||||
* @return Shared support directory
|
||||
*
|
||||
* This is a suitable location for static configuration files. (Remember,
|
||||
* bundle is considered read-only.)
|
||||
*/
|
||||
char * OSX_GetBundleSharedSupportDirectory();
|
||||
/* Again, what is the difference between Support and SharedSupport? */
|
||||
|
||||
/** @brief Get the support directory
|
||||
* @return Support directory
|
||||
* @see OSX_GetBundleSharedSupportDirectory()
|
||||
* @note Again, what is the difference between Support and SharedSupport?
|
||||
*/
|
||||
char * OSX_GetBundleSupportFilesDirectory();
|
||||
|
||||
/* Get the path to the main executable of the bundle, ie. the binary run
|
||||
when the user launches the bundle from Finder. */
|
||||
/** @brief Get the main executable path.
|
||||
* @return Main executable path.
|
||||
*
|
||||
* The binary run when the user launches the bundle from Finder.
|
||||
*/
|
||||
char * OSX_GetBundleExecutablePath();
|
||||
/* Get the path of an auxillary exetutable within the bundle.
|
||||
Pass the basename of the exetutable to get the path of. */
|
||||
|
||||
/** @brief Get the auxillary executable path.
|
||||
* @return Auxillary executable path.
|
||||
*
|
||||
* Pass the basename of the executable to get the path.
|
||||
*/
|
||||
char * OSX_GetBundleAuxillaryExecutablePath(const char *executableName);
|
||||
|
|
Loading…
Reference in New Issue