mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Move app to a dedicated folder
This commit is contained in:
53
Telegram/Watch/Extension/SSignalKit/SThreadPoolTask.m
Normal file
53
Telegram/Watch/Extension/SSignalKit/SThreadPoolTask.m
Normal file
@@ -0,0 +1,53 @@
|
||||
#import "SThreadPoolTask.h"
|
||||
|
||||
@interface SThreadPoolTaskState : NSObject
|
||||
{
|
||||
@public
|
||||
bool _cancelled;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation SThreadPoolTaskState
|
||||
|
||||
@end
|
||||
|
||||
@interface SThreadPoolTask ()
|
||||
{
|
||||
void (^_block)(bool (^)());
|
||||
SThreadPoolTaskState *_state;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation SThreadPoolTask
|
||||
|
||||
- (instancetype)initWithBlock:(void (^)(bool (^)()))block
|
||||
{
|
||||
self = [super init];
|
||||
if (self != nil)
|
||||
{
|
||||
_block = [block copy];
|
||||
_state = [[SThreadPoolTaskState alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)execute
|
||||
{
|
||||
if (_state->_cancelled)
|
||||
return;
|
||||
|
||||
SThreadPoolTaskState *state = _state;
|
||||
_block(^bool
|
||||
{
|
||||
return state->_cancelled;
|
||||
});
|
||||
}
|
||||
|
||||
- (void)cancel
|
||||
{
|
||||
_state->_cancelled = true;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user