session-ios/Signal/src/util/TimeUtil.h

39 lines
1.3 KiB
Objective-C

#import <Foundation/Foundation.h>
#import "Terminable.h"
#import "CollapsingFutures.h"
#import "Operation.h"
@interface TimeUtil : NSObject
+(NSTimeInterval) time;
/// Result has type Future(TypeOfValueReturnedByFunction)
+(TOCFuture*) scheduleEvaluate:(Function)function
afterDelay:(NSTimeInterval)delay
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
/// Result has type Future(TypeOfValueReturnedByFunction)
+(TOCFuture*) scheduleEvaluate:(Function)function
at:(NSDate*)date
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
+(void) scheduleRun:(Action)action
afterDelay:(NSTimeInterval)delay
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
+(void) scheduleRun:(Action)action
at:(NSDate*)date
onRunLoop:(NSRunLoop*)runLoop
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
+(void) scheduleRun:(Action)action
periodically:(NSTimeInterval)interval
onRunLoop:(NSRunLoop*)runLoop
untilCancelled:(TOCCancelToken*)untilCancelledToken
andRunImmediately:(BOOL)shouldRunImmediately;
@end