unify path functions

This commit is contained in:
Kelvin Sherlock 2021-01-29 20:07:11 -05:00
parent f74f5aaf11
commit 29cfb6c2a0
4 changed files with 65 additions and 55 deletions

View File

@ -11,9 +11,18 @@
#import <Cocoa/Cocoa.h>
/* ~/Library/ApplicationSupport/Ample/ */
NSURL *SupportDirectory(void);
NSString *SupportDirectoryPath(void);
/* mame executable URL */
NSURL *MameURL(void);
NSString *MamePath(void);
/* mame working directory */
NSURL *MameWorkingDirectory(void);
NSString *MameWorkingDirectoryPath(void);
/* NSUserDefaults keys */
extern NSString *kUseCustomMame;
extern NSString *kMamePath;

View File

@ -35,6 +35,62 @@ NSString *SupportDirectoryPath(void) {
}
NSURL *MameURL(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMamePath];
if (![path length]) return [NSURL fileURLWithPath: path];
}
return [bundle URLForAuxiliaryExecutable: @"mame64"];
}
NSString *MamePath(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
NSString *path;
if ([defaults boolForKey: kUseCustomMame]) {
path = [defaults stringForKey: kMamePath];
if ([path length]) return path;
}
path = [bundle pathForAuxiliaryExecutable: @"mame64"];
if ([path length]) return path;
return nil;
}
NSURL *MameWorkingDirectory(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMameWorkingDirectory];
if (![path length]) return [NSURL fileURLWithPath: path];
}
return SupportDirectory();
}
NSString *MameWorkingDirectoryPath(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMameWorkingDirectory];
if (![path length]) return path;
}
return SupportDirectoryPath();
}
NSString *kUseCustomMame = @"UseCustomMame";
NSString *kMamePath = @"MamePath";
NSString *kMameWorkingDirectory = @"MameWorkingDirectory";

View File

@ -120,36 +120,6 @@ static NSString *kContextMachine = @"kContextMachine";
}
static NSURL *MameURL(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMamePath];
if (![path length]) return [NSURL fileURLWithPath: path];
}
return [bundle URLForAuxiliaryExecutable: @"mame64"];
return nil;
}
static NSString *MamePath(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
NSString *path;
if ([defaults boolForKey: kUseCustomMame]) {
path = [defaults stringForKey: kMamePath];
if ([path length]) return path;
}
path = [bundle pathForAuxiliaryExecutable: @"mame64"];
if ([path length]) return path;
return nil;
}
static NSString * JoinArguments(NSArray *argv) {

View File

@ -36,31 +36,6 @@ static NSMutableSet *LogWindows;
return controller;
}
static NSURL *MameURL(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMamePath];
if (![path length]) return [NSURL fileURLWithPath: path];
}
return [bundle URLForAuxiliaryExecutable: @"mame64"];
}
static NSURL *MameWorkingDirectory(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMameWorkingDirectory];
if (![path length]) return [NSURL fileURLWithPath: path];
}
return SupportDirectory();
}
+(id)controllerForArgs: (NSArray *)args {