aboutsummaryrefslogtreecommitdiffstats
path: root/Low Battery Yup/DaemonLauncher.m
diff options
context:
space:
mode:
authorTeddy Wing2016-12-02 17:52:33 -0500
committerTeddy Wing2016-12-02 17:52:33 -0500
commit422d83d7572feb648f8dff966d36588e97cf4beb (patch)
treeae4eca7ecced902a095b22555f9037cd0d6c0949 /Low Battery Yup/DaemonLauncher.m
parent22e657a042d653e5abcdb876d843bb80343e9053 (diff)
parent83cf716ed5534dcfc26a3e0a6e8463979989772f (diff)
downloadLow-Battery-Yup-422d83d7572feb648f8dff966d36588e97cf4beb.tar.bz2
Merge branch 'launch-agent'
Diffstat (limited to 'Low Battery Yup/DaemonLauncher.m')
-rw-r--r--Low Battery Yup/DaemonLauncher.m59
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