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

33 lines
681 B
C
Raw Normal View History

2014-05-06 19:41:08 +02:00
#import <Foundation/Foundation.h>
#import "ArrayUtil.h"
2014-05-06 19:41:08 +02:00
#import "DataUtil.h"
#import "DictionaryUtil.h"
#import "StringUtil.h"
2014-05-06 19:41:08 +02:00
typedef void (^Action)(void);
typedef id (^Function)(void);
2014-05-06 19:41:08 +02:00
@interface Operation : NSObject
@property (nonatomic, readonly, copy) Action callback;
2014-05-06 19:41:08 +02:00
+ (Operation *)operation:(Action)block;
2014-05-06 19:41:08 +02:00
+ (void)asyncRun:(Action)action onThread:(NSThread *)thread;
2014-05-06 19:41:08 +02:00
+ (void)asyncRunAndWaitUntilDone:(Action)action onThread:(NSThread *)thread;
2014-05-06 19:41:08 +02:00
+ (void)asyncRunOnNewThread:(Action)action;
2014-05-06 19:41:08 +02:00
- (void)run;
2014-05-06 19:41:08 +02:00
- (SEL)selectorToRun;
2014-05-06 19:41:08 +02:00
- (void)performOnNewThread;
2014-05-06 19:41:08 +02:00
- (void)performOnThread:(NSThread *)thread;
2014-05-06 19:41:08 +02:00
- (void)performOnThreadAndWaitUntilDone:(NSThread *)thread;
2014-05-06 19:41:08 +02:00
@end