/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef MacLaunchHelper_h_ #define MacLaunchHelper_h_ #include #include #ifdef __OBJC__ # include namespace mozilla::MacLaunchHelper { void LaunchMacAppWithBundle(NSString* aBundlePath, NSArray* aArguments = nullptr); } // namespace mozilla::MacLaunchHelper #endif // __OBJC__ extern "C" { /** * Passing an aPid parameter to LaunchChildMac will wait for the launched * process to terminate. When the process terminates, aPid will be set to the * pid of the terminated process to confirm that it executed successfully. */ void LaunchChildMac(int aArgc, char** aArgv, pid_t* aPid = nullptr); void LaunchMacApp(int aArgc, char** aArgv); bool LaunchElevatedUpdate(int aArgc, char** aArgv, pid_t* aPid = nullptr); bool InstallPrivilegedHelperWithId(const char* helperId, os_log_t logger = OS_LOG_DEFAULT); bool InstallElevatedUpdater(); void AbortElevatedUpdate(); } #endif