mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
53 lines
1.2 KiB
Objective-C
53 lines
1.2 KiB
Objective-C
#import <MtProtoKit/MTProtoEngine.h>
|
|
|
|
#import "Utils/MTQueueLocalObject.h"
|
|
#import <MtProtoKit/MTQueue.h>
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@interface MTProtoEngineImpl : NSObject {
|
|
MTQueue *_queue;
|
|
id<MTProtoPersistenceInterface> _persistenceInterface;
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation MTProtoEngineImpl
|
|
|
|
- (instancetype)initWithQueue:(MTQueue *)queue persistenceInterface:(id<MTProtoPersistenceInterface>)persistenceInterface {
|
|
self = [super init];
|
|
if (self != nil) {
|
|
_queue = queue;
|
|
_persistenceInterface = persistenceInterface;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
@end
|
|
|
|
@interface MTProtoEngine () {
|
|
MTQueue *_queue;
|
|
MTQueueLocalObject<MTProtoEngineImpl *> *_impl;
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation MTProtoEngine
|
|
|
|
- (instancetype)initWithPersistenceInterface:(id<MTProtoPersistenceInterface>)persistenceInterface {
|
|
self = [super init];
|
|
if (self != nil) {
|
|
_queue = [[MTQueue alloc] init];
|
|
__auto_type queue = _queue;
|
|
_impl = [[MTQueueLocalObject<MTProtoEngineImpl
|
|
*> alloc] initWithQueue:queue generator:^MTProtoEngineImpl *{
|
|
return [[MTProtoEngineImpl alloc] initWithQueue:queue persistenceInterface:persistenceInterface];
|
|
}];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|