Add block handling functions to NSTimer

This commit is contained in:
Gregory John Casamento 2019-10-26 17:03:38 -04:00
parent 3d6cd160b2
commit 873e4edc47
4 changed files with 128 additions and 50 deletions

View file

@ -37,6 +37,7 @@
_interval = 0;
_tolerance = 0;
_shouldDefer = NO;
_timer = nil;
}
return self;
}
@ -103,6 +104,30 @@
- (void) scheduleWithBlock: (GSScheduledBlock)block
{
NSProcessInfo *pinfo = [NSProcessInfo processInfo];
id token = nil;
NSActivityOptions opts = 0;
switch(qualityOfService)
{
case NSQualityOfServiceUserInteractive:
opts = NSActivityUserInitiated | NSActivityIdleDisplaySleepDisabled;
break;
case NSQualityOfServiceUserInitiated:
opts = NSActivityUserInitiated;
break;
case NSQualityOfServiceUtility:
opts = NSActivityUserInitiated | NSActivityIdleDisplaySleepDisabled;
break;
case NSQualityOfServiceBackground:
opts = NSActivityBackground;
break;
case NSQualityOfServiceDefault:
opts = NSActivityLatencyCritical;
break;
}
token = [pinfo beginActivityWithOptions:
}
- (void) invalidate