aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/imap/MCOIMAPFolderStatus.mm
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-06-22 00:07:39 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-06-22 00:07:39 -0700
commit8259b55073f2fdb2c3d301df570412318cdfac27 (patch)
tree5a301800d308b78fdfc93b2b61d97cc06dd351d2 /src/objc/imap/MCOIMAPFolderStatus.mm
parentdfd47a7ec95e469e33fd40ddc2c1a725fe2da3e2 (diff)
Cleaned implementation of FolderStatus (#120)
Diffstat (limited to 'src/objc/imap/MCOIMAPFolderStatus.mm')
-rw-r--r--src/objc/imap/MCOIMAPFolderStatus.mm27
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