5#import <AppKit/NSDocumentController.h>
6#import <Foundation/Foundation.h>
16 const NSSearchPathDomainMask mask,
18 const std::size_t len_tempPath)
21 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, mask, YES);
23 if (paths.count == 0) {
26 NSString *basePath = [paths objectAtIndex:0];
31 [basePath cStringUsingEncoding:NSASCIIStringEncoding],
39 static char tempPath[512] =
"";
45 static char tempPath[512] =
"";
51 static char tempPath[512] =
"";
53 NSSearchPathDirectory ns_directory;
57 ns_directory = NSDesktopDirectory;
60 ns_directory = NSDocumentDirectory;
63 ns_directory = NSDownloadsDirectory;
66 ns_directory = NSMusicDirectory;
69 ns_directory = NSPicturesDirectory;
72 ns_directory = NSMoviesDirectory;
75 ns_directory = NSCachesDirectory;
80 "GHOST_SystemPathsCocoa::getUserSpecialDir(): Invalid enum value for type parameter");
84 NSArray *paths = NSSearchPathForDirectoriesInDomains(ns_directory, NSUserDomainMask, YES);
85 if (paths.count == 0) {
88 NSString *basePath = [paths objectAtIndex:0];
90 const char *basePath_cstr = [basePath cStringUsingEncoding:NSASCIIStringEncoding];
91 int basePath_len = strlen(basePath_cstr);
93 basePath_len =
MIN(basePath_len,
sizeof(tempPath) - 1);
94 memcpy(tempPath, basePath_cstr, basePath_len);
95 tempPath[basePath_len] =
'\0';
102 static char tempPath[512] =
"";
105 NSString *basePath = [[NSBundle mainBundle] bundlePath];
107 if (basePath == nil) {
111 const char *basePath_cstr = [basePath cStringUsingEncoding:NSASCIIStringEncoding];
112 int basePath_len = strlen(basePath_cstr);
114 basePath_len =
MIN(basePath_len,
sizeof(tempPath) - 1);
115 memcpy(tempPath, basePath_cstr, basePath_len);
116 tempPath[basePath_len] =
'\0';
124 NSURL *file_url = [NSURL fileURLWithPath:[NSString stringWithUTF8String:filepath]];
125 [[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:file_url];
#define GHOST_ASSERT(x, info)
static const char * GetApplicationSupportDir(const char *versionstr, const NSSearchPathDomainMask mask, char *tempPath, const std::size_t len_tempPath)
GHOST_TUserSpecialDirTypes
@ GHOST_kUserSpecialDirDesktop
@ GHOST_kUserSpecialDirMusic
@ GHOST_kUserSpecialDirPictures
@ GHOST_kUserSpecialDirVideos
@ GHOST_kUserSpecialDirDownloads
@ GHOST_kUserSpecialDirCaches
@ GHOST_kUserSpecialDirDocuments
const char * getBinaryDir() const override
const char * getUserSpecialDir(GHOST_TUserSpecialDirTypes type) const override
void addToSystemRecentFiles(const char *filepath) const override
const char * getUserDir(int version, const char *versionstr) const override
const char * getSystemDir(int version, const char *versionstr) const override