diff options
Diffstat (limited to 'src/objc/imap/MCOIMAPOperation.mm')
-rw-r--r-- | src/objc/imap/MCOIMAPOperation.mm | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/objc/imap/MCOIMAPOperation.mm b/src/objc/imap/MCOIMAPOperation.mm new file mode 100644 index 00000000..c2b36e26 --- /dev/null +++ b/src/objc/imap/MCOIMAPOperation.mm @@ -0,0 +1,49 @@ +// +// MCOIMAPOperation.m +// mailcore2 +// +// Created by DINH Viêt Hoà on 3/23/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import "MCOIMAPOperation.h" + +#include "MCIMAPOperation.h" +#import "MCOOperation+Private.h" + +#import "MCOUtils.h" + +@interface MCOIMAPOperation () +@property (nonatomic, copy) void (^completionBlock)(NSError *error); +@end + +@implementation MCOIMAPOperation { + void (^_completionBlock)(NSError *error); +} + +@synthesize completionBlock = _completionBlock; + +#define nativeType mailcore::IMAPOperation + ++ (void) initialize +{ + MCORegisterClass(self, &typeid(nativeType)); +} + ++ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object +{ + mailcore::IMAPOperation * op = (mailcore::IMAPOperation *) object; + return [[[self alloc] initWithMCOperation:op] autorelease]; +} + +- (void)start:(void (^)(NSError *error))completionBlock { + self.completionBlock = completionBlock; + [self start]; +} + +- (void)operationCompleted { + NSError * error = [NSError mco_errorWithErrorCode:MCO_NATIVE_INSTANCE->error()]; + self.completionBlock(error); +} + +@end |