diff options
author | 2013-06-22 00:07:39 -0700 | |
---|---|---|
committer | 2013-06-22 00:07:39 -0700 | |
commit | 8259b55073f2fdb2c3d301df570412318cdfac27 (patch) | |
tree | 5a301800d308b78fdfc93b2b61d97cc06dd351d2 /src/objc/imap/MCOIMAPFolderStatus.mm | |
parent | dfd47a7ec95e469e33fd40ddc2c1a725fe2da3e2 (diff) |
Cleaned implementation of FolderStatus (#120)
Diffstat (limited to 'src/objc/imap/MCOIMAPFolderStatus.mm')
-rw-r--r-- | src/objc/imap/MCOIMAPFolderStatus.mm | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/objc/imap/MCOIMAPFolderStatus.mm b/src/objc/imap/MCOIMAPFolderStatus.mm index 22bc8456..dc018688 100644 --- a/src/objc/imap/MCOIMAPFolderStatus.mm +++ b/src/objc/imap/MCOIMAPFolderStatus.mm @@ -17,10 +17,9 @@ mailcore::IMAPFolderStatus *_folderStatus; } -+ (MCOIMAPFolderStatus *) status ++ (void) load { - mailcore::IMAPFolderStatus folderStatus = new mailcore::IMAPFolderStatus(); - return [[[MCOIMAPFolderStatus alloc] init] autorelease]; + MCORegisterClass(self, &typeid(nativeType)); } - (id) initWithMCFolderStatus:(mailcore::IMAPFolderStatus *)status @@ -33,12 +32,23 @@ return self; } +- (void) dealloc +{ + MC_SAFE_RELEASE(_folderStatus); + [super dealloc]; +} + + (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object { mailcore::IMAPFolderStatus * status = (mailcore::IMAPFolderStatus *) object; return [[[self alloc] initWithMCFolderStatus:status] autorelease]; } +- (mailcore::Object *) mco_mcObject +{ + return _folderStatus; +} + - (id) copyWithZone:(NSZone *)zone { nativeType * nativeObject = (nativeType *) [self mco_mcObject]->copy(); @@ -47,16 +57,15 @@ return [result retain]; } +- (NSString *) description +{ + return MCO_OBJC_BRIDGE_GET(description); +} + MCO_OBJC_SYNTHESIZE_SCALAR(uint32_t, uint32_t, setUnseenCount, unseenCount) MCO_OBJC_SYNTHESIZE_SCALAR(uint32_t, uint32_t, setMessageCount, messageCount) MCO_OBJC_SYNTHESIZE_SCALAR(uint32_t, uint32_t, setRecentCount, recentCount) MCO_OBJC_SYNTHESIZE_SCALAR(uint32_t, uint32_t, setUidNext, uidNext) MCO_OBJC_SYNTHESIZE_SCALAR(uint32_t, uint32_t, setUidValidity, uidValidity) -- (void) dealloc -{ - _folderStatus->release(); - [super dealloc]; -} - @end |