From 29cfb6c2a0b62c04c4b074188717baf78e6b0592 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Fri, 29 Jan 2021 20:07:11 -0500 Subject: [PATCH] unify path functions --- Ample/Ample.h | 9 ++++++ Ample/Ample.m | 56 ++++++++++++++++++++++++++++++++++ Ample/LaunchWindowController.m | 30 ------------------ Ample/LogWindowController.m | 25 --------------- 4 files changed, 65 insertions(+), 55 deletions(-) diff --git a/Ample/Ample.h b/Ample/Ample.h index 14f4181..5551e3c 100644 --- a/Ample/Ample.h +++ b/Ample/Ample.h @@ -11,9 +11,18 @@ #import +/* ~/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; diff --git a/Ample/Ample.m b/Ample/Ample.m index 4c32054..f4a0ca8 100644 --- a/Ample/Ample.m +++ b/Ample/Ample.m @@ -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"; diff --git a/Ample/LaunchWindowController.m b/Ample/LaunchWindowController.m index 327995b..2399c91 100644 --- a/Ample/LaunchWindowController.m +++ b/Ample/LaunchWindowController.m @@ -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) { diff --git a/Ample/LogWindowController.m b/Ample/LogWindowController.m index b5b875b..55ce845 100644 --- a/Ample/LogWindowController.m +++ b/Ample/LogWindowController.m @@ -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 {