mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-04 20:57:49 +00:00
38 lines
955 B
Plaintext
38 lines
955 B
Plaintext
#include "StudioMacUtilities.h"
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
namespace StudioMacUtilities {
|
|
|
|
static NSObject* processActivity = nil;
|
|
void disableAppNap(const char* reason)
|
|
{
|
|
if (processActivity)
|
|
return;
|
|
|
|
@autoreleasepool
|
|
{
|
|
if ([[NSProcessInfo processInfo] respondsToSelector:@selector(beginActivityWithOptions:reason:)])
|
|
{
|
|
processActivity = [[NSProcessInfo processInfo] beginActivityWithOptions:NSActivityIdleSystemSleepDisabled | NSActivityIdleDisplaySleepDisabled reason:@(reason)];
|
|
[processActivity retain];
|
|
}
|
|
}
|
|
}
|
|
|
|
void enableAppNap()
|
|
{
|
|
if (!processActivity)
|
|
return;
|
|
|
|
@autoreleasepool
|
|
{
|
|
if ([[NSProcessInfo processInfo] respondsToSelector:@selector(endActivity:)])
|
|
{
|
|
[[NSProcessInfo processInfo] endActivity:processActivity];
|
|
[processActivity release];
|
|
processActivity = nil;
|
|
}
|
|
}
|
|
}
|
|
|
|
} |