2019-01-18 07:31:14 -07:00
|
|
|
// Copyright 2019 Dolphin Emulator Project
|
2021-07-04 19:22:19 -06:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2019-01-18 07:31:14 -07:00
|
|
|
|
|
|
|
#import "AppDelegate.h"
|
|
|
|
|
2019-02-25 15:08:03 -07:00
|
|
|
#include "UpdaterCommon/UpdaterCommon.h"
|
2019-01-18 07:31:14 -07:00
|
|
|
|
|
|
|
#include <Cocoa/Cocoa.h>
|
2019-03-03 05:56:54 -07:00
|
|
|
#include <string>
|
2019-01-18 07:31:14 -07:00
|
|
|
#include <vector>
|
|
|
|
|
2021-03-12 18:10:53 -07:00
|
|
|
// Refer to docs/autoupdate_overview.md for a detailed overview of the autoupdate process
|
|
|
|
|
2019-01-18 07:31:14 -07:00
|
|
|
@interface AppDelegate ()
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation AppDelegate
|
|
|
|
|
2021-03-12 18:10:53 -07:00
|
|
|
- (void)applicationDidFinishLaunching:(NSNotification*)aNotification
|
|
|
|
{
|
2019-01-18 07:31:14 -07:00
|
|
|
NSArray* arguments = [[NSProcessInfo processInfo] arguments];
|
|
|
|
|
|
|
|
__block std::vector<std::string> args;
|
|
|
|
[arguments
|
|
|
|
enumerateObjectsUsingBlock:^(NSString* _Nonnull obj, NSUInteger idx, BOOL* _Nonnull stop) {
|
|
|
|
args.push_back(std::string([obj UTF8String]));
|
|
|
|
}];
|
|
|
|
|
|
|
|
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);
|
|
|
|
dispatch_async(queue, ^{
|
2019-03-03 05:56:54 -07:00
|
|
|
RunUpdater(args);
|
|
|
|
[NSApp performSelector:@selector(terminate:) withObject:nil afterDelay:0.0];
|
2019-01-18 07:31:14 -07:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2021-03-12 18:10:53 -07:00
|
|
|
- (void)applicationWillTerminate:(NSNotification*)aNotification
|
|
|
|
{
|
2019-01-18 07:31:14 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
@end
|