diff options
Diffstat (limited to 'Low Battery Yup/DaemonLauncher.m')
-rw-r--r-- | Low Battery Yup/DaemonLauncher.m | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Low Battery Yup/DaemonLauncher.m b/Low Battery Yup/DaemonLauncher.m new file mode 100644 index 0000000..355e9fd --- /dev/null +++ b/Low Battery Yup/DaemonLauncher.m @@ -0,0 +1,59 @@ +// +// DaemonLauncher.m +// Low Battery Yup.d +// +// Created by TW on 12/2/16. +// Copyright (c) 2016 TW. All rights reserved. +// + +#import "DaemonLauncher.h" + +@implementation DaemonLauncher + +- (BOOL)launch +{ + NSURL *daemon_url = [[NSBundle mainBundle] URLForResource:@"Low Battery Yup.d" withExtension:@"app"]; + + NSError *error = nil; + [[NSWorkspace sharedWorkspace] + launchApplicationAtURL:daemon_url + options:NSWorkspaceLaunchWithoutAddingToRecents | NSWorkspaceLaunchWithoutActivation + configuration:nil + error:&error]; + + if (error != nil) { + NSLog(@"%@", error); + return NO; + } + + return YES; +} + +- (BOOL)quit +{ + NSArray *applications = [NSRunningApplication + runningApplicationsWithBundleIdentifier:@"com.teddywing.Low-Battery-Yup-d"]; + + if ([applications count] > 0) { + NSRunningApplication *daemon = [applications objectAtIndex:0]; + return [daemon terminate]; + } + + return NO; +} + +- (BOOL)isRunning +{ + NSArray *runningApplications = [[NSWorkspace sharedWorkspace] runningApplications]; + + for (int i = 0; i < [runningApplications count]; i++) { + if ([[[runningApplications objectAtIndex:i] bundleIdentifier] + isEqualToString:@"com.teddywing.Low-Battery-Yup-d"]) { + return YES; + } + } + + return NO; +} + +@end |