Add support for getting the application support directory.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16723 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
alexm 2003-05-14 14:52:58 +00:00
parent 8340c97751
commit e2f4af1934
3 changed files with 48 additions and 32 deletions

View file

@ -1,3 +1,9 @@
2003-05-14 16:50 Alexander Malmberg <alexander@malmberg.org>
* Source/NSUser.m, Headers/gnustep/base/NSPathUtilities.h: Add
GSApplicationSupportDirectory constant for
NSSearchPathForDirectoriesInDomains.
2003-05-14 David Ayers <d.ayers@inode.at> 2003-05-14 David Ayers <d.ayers@inode.at>
* Tools/Makefile.postamble: Added safe handling of empty * Tools/Makefile.postamble: Added safe handling of empty

View file

@ -63,6 +63,7 @@ typedef enum
NSAllLibrariesDirectory, NSAllLibrariesDirectory,
GSLibrariesDirectory, GSLibrariesDirectory,
GSToolsDirectory, GSToolsDirectory,
GSApplicationSupportDirectory,
} NSSearchPathDirectory; } NSSearchPathDirectory;
typedef unsigned int NSSearchPathDomainMask; typedef unsigned int NSSearchPathDomainMask;

View file

@ -945,6 +945,7 @@ NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directoryKey,
NSString *libsDir = @"Library/Libraries"; NSString *libsDir = @"Library/Libraries";
NSString *toolsDir = @"Tools"; NSString *toolsDir = @"Tools";
NSString *docDir = @"Library/Documentation"; NSString *docDir = @"Library/Documentation";
NSString *supportDir = @"ApplicationSupport";
NSMutableArray *paths = [NSMutableArray new]; NSMutableArray *paths = [NSMutableArray new];
NSString *path; NSString *path;
unsigned i; unsigned i;
@ -979,26 +980,26 @@ if (domainMask & mask) \
if (directoryKey == NSApplicationDirectory if (directoryKey == NSApplicationDirectory
|| directoryKey == NSAllApplicationsDirectory) || directoryKey == NSAllApplicationsDirectory)
{ {
ADD_PATH (NSUserDomainMask, gnustep_user_root, appsDir); ADD_PATH(NSUserDomainMask, gnustep_user_root, appsDir);
ADD_PATH (NSLocalDomainMask, gnustep_local_root, appsDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, appsDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, appsDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, appsDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, appsDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, appsDir);
} }
if (directoryKey == NSDemoApplicationDirectory if (directoryKey == NSDemoApplicationDirectory
|| directoryKey == NSAllApplicationsDirectory); || directoryKey == NSAllApplicationsDirectory);
{ {
NSString *devDemosDir = [devDir stringByAppendingPathComponent: demosDir]; NSString *devDemosDir = [devDir stringByAppendingPathComponent: demosDir];
ADD_PATH (NSSystemDomainMask, gnustep_system_root, devDemosDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, devDemosDir);
} }
if (directoryKey == NSDeveloperApplicationDirectory if (directoryKey == NSDeveloperApplicationDirectory
|| directoryKey == NSAllApplicationsDirectory) || directoryKey == NSAllApplicationsDirectory)
{ {
NSString *devAppsDir = [devDir stringByAppendingPathComponent: appsDir]; NSString *devAppsDir = [devDir stringByAppendingPathComponent: appsDir];
ADD_PATH (NSUserDomainMask, gnustep_user_root, devAppsDir); ADD_PATH(NSUserDomainMask, gnustep_user_root, devAppsDir);
ADD_PATH (NSLocalDomainMask, gnustep_local_root, devAppsDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, devAppsDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, devAppsDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, devAppsDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, devAppsDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, devAppsDir);
} }
if (directoryKey == NSAdminApplicationDirectory if (directoryKey == NSAdminApplicationDirectory
|| directoryKey == NSAllApplicationsDirectory) || directoryKey == NSAllApplicationsDirectory)
@ -1006,24 +1007,24 @@ if (domainMask & mask) \
NSString *devAdminDir = [devDir stringByAppendingPathComponent: adminDir]; NSString *devAdminDir = [devDir stringByAppendingPathComponent: adminDir];
/* FIXME - NSUserDomainMask ? - users have no Administrator directory */ /* FIXME - NSUserDomainMask ? - users have no Administrator directory */
ADD_PATH (NSLocalDomainMask, gnustep_local_root, devAdminDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, devAdminDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, devAdminDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, devAdminDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, devAdminDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, devAdminDir);
} }
if (directoryKey == NSLibraryDirectory if (directoryKey == NSLibraryDirectory
|| directoryKey == NSAllLibrariesDirectory) || directoryKey == NSAllLibrariesDirectory)
{ {
ADD_PATH (NSUserDomainMask, gnustep_user_root, libraryDir); ADD_PATH(NSUserDomainMask, gnustep_user_root, libraryDir);
ADD_PATH (NSLocalDomainMask, gnustep_local_root, libraryDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, libraryDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, libraryDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, libraryDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, libraryDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, libraryDir);
} }
if (directoryKey == NSDeveloperDirectory) if (directoryKey == NSDeveloperDirectory)
{ {
ADD_PATH (NSUserDomainMask, gnustep_local_root, devDir); ADD_PATH(NSUserDomainMask, gnustep_local_root, devDir);
ADD_PATH (NSLocalDomainMask, gnustep_local_root, devDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, devDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, devDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, devDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, devDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, devDir);
} }
if (directoryKey == NSUserDirectory) if (directoryKey == NSUserDirectory)
{ {
@ -1034,25 +1035,33 @@ if (domainMask & mask) \
} }
if (directoryKey == NSDocumentationDirectory) if (directoryKey == NSDocumentationDirectory)
{ {
ADD_PATH (NSUserDomainMask, gnustep_user_root, docDir); ADD_PATH(NSUserDomainMask, gnustep_user_root, docDir);
ADD_PATH (NSLocalDomainMask, gnustep_local_root, docDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, docDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, docDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, docDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, docDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, docDir);
} }
if (directoryKey == GSLibrariesDirectory) if (directoryKey == GSLibrariesDirectory)
{ {
ADD_PATH (NSUserDomainMask, gnustep_user_root, libsDir); ADD_PATH(NSUserDomainMask, gnustep_user_root, libsDir);
ADD_PATH (NSLocalDomainMask, gnustep_local_root, libsDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, libsDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, libsDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, libsDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, libsDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, libsDir);
} }
if (directoryKey == GSToolsDirectory) if (directoryKey == GSToolsDirectory)
{ {
ADD_PATH (NSUserDomainMask, gnustep_user_root, toolsDir); ADD_PATH(NSUserDomainMask, gnustep_user_root, toolsDir);
ADD_PATH (NSLocalDomainMask, gnustep_local_root, toolsDir); ADD_PATH(NSLocalDomainMask, gnustep_local_root, toolsDir);
ADD_PATH (NSNetworkDomainMask, gnustep_network_root, toolsDir); ADD_PATH(NSNetworkDomainMask, gnustep_network_root, toolsDir);
ADD_PATH (NSSystemDomainMask, gnustep_system_root, toolsDir); ADD_PATH(NSSystemDomainMask, gnustep_system_root, toolsDir);
} }
if (directoryKey == GSApplicationSupportDirectory)
{
ADD_PATH(NSUserDomainMask, gnustep_user_root, supportDir);
ADD_PATH(NSLocalDomainMask, gnustep_local_root, supportDir);
ADD_PATH(NSNetworkDomainMask, gnustep_network_root, supportDir);
ADD_PATH(NSSystemDomainMask, gnustep_system_root, supportDir);
}
#undef ADD_PATH #undef ADD_PATH
fm = [NSFileManager defaultManager]; fm = [NSFileManager defaultManager];