aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/utils/MCOObjectWrapper.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/objc/utils/MCOObjectWrapper.mm')
-rw-r--r--src/objc/utils/MCOObjectWrapper.mm42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/objc/utils/MCOObjectWrapper.mm b/src/objc/utils/MCOObjectWrapper.mm
new file mode 100644
index 00000000..74a2afe7
--- /dev/null
+++ b/src/objc/utils/MCOObjectWrapper.mm
@@ -0,0 +1,42 @@
+//
+// MCOObjectWrapper.m
+// mailcore2
+//
+// Created by DINH Viêt Hoà on 1/25/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import "MCOObjectWrapper.h"
+
+#include "MCUtils.h"
+
+@implementation MCOObjectWrapper {
+ mailcore::Object * mObject;
+}
+
+- (void) dealloc
+{
+ MC_SAFE_RELEASE(mObject);
+ [super dealloc];
+}
+
++ (MCOObjectWrapper *) objectWrapperWithObject:(mailcore::Object *)object
+{
+ MCOObjectWrapper * wrapper = [[MCOObjectWrapper alloc] init];
+ [wrapper setObject:object];
+ return [wrapper autorelease];
+}
+
+- (void) setObject:(mailcore::Object *)object
+{
+ MC_SAFE_RELEASE(mObject);
+ mObject = object;
+ MC_SAFE_RETAIN(mObject);
+}
+
+- (mailcore::Object *) object
+{
+ return mObject;
+}
+
+@end