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/LaunchAgentManager.m | |
| parent | 22e657a042d653e5abcdb876d843bb80343e9053 (diff) | |
| parent | 83cf716ed5534dcfc26a3e0a6e8463979989772f (diff) | |
| download | Low-Battery-Yup-422d83d7572feb648f8dff966d36588e97cf4beb.tar.bz2 | |
Merge branch 'launch-agent'
Diffstat (limited to 'Low Battery Yup/LaunchAgentManager.m')
| -rw-r--r-- | Low Battery Yup/LaunchAgentManager.m | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Low Battery Yup/LaunchAgentManager.m b/Low Battery Yup/LaunchAgentManager.m new file mode 100644 index 0000000..fd75795 --- /dev/null +++ b/Low Battery Yup/LaunchAgentManager.m @@ -0,0 +1,52 @@ +// +// LaunchAgentManager.m +// Low Battery Yup.d +// +// Created by TW on 12/2/16. +// Copyright (c) 2016 TW. All rights reserved. +// + +#import "LaunchAgentManager.h" + +@implementation LaunchAgentManager + +- (id)init +{ + self = [super init]; + if (self) { + _file_manager = [NSFileManager defaultManager]; + } + return self; +} + +- (BOOL)install +{ + NSBundle *main_bundle = [NSBundle mainBundle]; + NSURL *launchagents_url = [NSURL fileURLWithPath: + [[LAUNCH_AGENTS_PATH stringByAppendingString:@"/com.teddywing.Low-Battery-Yup.StartAtLogin.plist"] stringByExpandingTildeInPath] + isDirectory:YES]; + + NSError *error; + BOOL success = [_file_manager copyItemAtURL: + [main_bundle URLForResource:@"com.teddywing.Low-Battery-Yup.StartAtLogin" withExtension:@"plist"] + toURL:launchagents_url + error:&error]; + + if (!success) { + NSLog(@"%@", error); + } + + return success; +} + +- (BOOL)uninstall +{ + return [[NSWorkspace sharedWorkspace] + performFileOperation:NSWorkspaceRecycleOperation + source:[LAUNCH_AGENTS_PATH stringByExpandingTildeInPath] + destination:@"" + files:[NSArray arrayWithObject:@"com.teddywing.Low-Battery-Yup.StartAtLogin.plist"] + tag:nil]; +} + +@end |
