diff options
| author | Teddy Wing | 2016-12-02 17:52:33 -0500 |
|---|---|---|
| committer | Teddy Wing | 2016-12-02 17:52:33 -0500 |
| commit | 422d83d7572feb648f8dff966d36588e97cf4beb (patch) | |
| tree | ae4eca7ecced902a095b22555f9037cd0d6c0949 /Low Battery Yup/DaemonLauncher.m | |
| parent | 22e657a042d653e5abcdb876d843bb80343e9053 (diff) | |
| parent | 83cf716ed5534dcfc26a3e0a6e8463979989772f (diff) | |
| download | Low-Battery-Yup-422d83d7572feb648f8dff966d36588e97cf4beb.tar.bz2 | |
Merge branch 'launch-agent'
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 |
