Add MacoSX Glue

This commit is contained in:
jvernet
2021-11-18 18:04:56 +01:00
parent 0079b812be
commit 1d815f5b5b
2 changed files with 68 additions and 0 deletions

23
src/mac/macOSXGlue.h Normal file
View File

@@ -0,0 +1,23 @@
//
// macOSXGlue.h
// TestSDL
//
// Created by Jerome Vernet on 18/11/2021.
// Copyright © 2021 Jerome Vernet. All rights reserved.
//
#ifndef macOSXGlue_h
#define macOSXGlue_h
#include <CoreFoundation/CFBase.h>
CF_IMPLICIT_BRIDGING_ENABLED
CF_EXTERN_C_BEGIN
void getDefaultROMPath(char*);
int toto();
CF_EXTERN_C_END
CF_IMPLICIT_BRIDGING_DISABLED
#endif /* macOSXGlue_h */

45
src/mac/macOSXGlue.m Normal file
View File

@@ -0,0 +1,45 @@
//
// macOSXGlue.m
// 86BOx MacoSx Glue....
// Todo: so much
// Created by Jerome Vernet on 18/11/2021.
// Copyright © 2021 Jerome Vernet. All rights reserved.
//
#import <Foundation/Foundation.h>
void getDefaultROMPath(char* Path)
{
NSFileManager* sharedFM = [NSFileManager defaultManager];
NSArray* possibleURLs = [sharedFM URLsForDirectory:NSApplicationSupportDirectory
inDomains:NSUserDomainMask];
NSURL* appSupportDir = nil;
NSURL* appDirectory = nil;
if ([possibleURLs count] >= 1) {
// Use the first directory (if multiple are returned)
appSupportDir = [possibleURLs objectAtIndex:0];
}
// If a valid app support directory exists, add the
// app's bundle ID to it to specify the final directory.
if (appSupportDir) {
NSString* appBundleID = [[NSBundle mainBundle] bundleIdentifier];
appDirectory = [appSupportDir URLByAppendingPathComponent:appBundleID];
appDirectory=[appDirectory URLByAppendingPathComponent:@"roms"];
}
// create ~/Library/Application Support/... stuff
NSError* theError = nil;
if (![sharedFM createDirectoryAtURL:appDirectory withIntermediateDirectories:YES
attributes:nil error:&theError])
{
// Handle the error.
NSLog(@"Error creating user library rom path");
} else NSLog(@"Create user rom path sucessfull");
strcpy(Path,[appDirectory fileSystemRepresentation]);
// return appDirectory;
}