aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc
diff options
context:
space:
mode:
authorGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-27 11:34:20 -0800
committerGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-27 11:34:20 -0800
commit16d4ff695f6d353c81fdd4f5aceda47114b2b6ee (patch)
tree3a208e42efd2f089c86be3b65ae352f3b431e833 /src/objc
parentd528e515c1645dedc6aec3c43ab378cc2228cf3c (diff)
include ObjC API in <mailcore/mailcore.h>. added MCOObjectWrapper to wrap mailcore::Object
Diffstat (limited to 'src/objc')
-rw-r--r--src/objc/MCObjC.h20
-rw-r--r--src/objc/utils/MCOObjectWrapper.h21
-rw-r--r--src/objc/utils/MCOObjectWrapper.mm42
-rw-r--r--src/objc/utils/NSData+MCO.h4
-rw-r--r--src/objc/utils/NSString+MCO.h6
5 files changed, 84 insertions, 9 deletions
diff --git a/src/objc/MCObjC.h b/src/objc/MCObjC.h
new file mode 100644
index 00000000..82fda937
--- /dev/null
+++ b/src/objc/MCObjC.h
@@ -0,0 +1,20 @@
+//
+// MCObjC.h
+// mailcore2
+//
+// Created by DINH Viêt Hoà on 1/27/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef mailcore2_MCObjC_h
+#define mailcore2_MCObjC_h
+
+#ifdef __OBJC__
+
+#import <mailcore/NSData+MCO.h>
+#import <mailcore/NSString+MCO.h>
+#import <mailcore/MCOObjectWrapper.h>
+
+#endif
+
+#endif
diff --git a/src/objc/utils/MCOObjectWrapper.h b/src/objc/utils/MCOObjectWrapper.h
new file mode 100644
index 00000000..eac1a457
--- /dev/null
+++ b/src/objc/utils/MCOObjectWrapper.h
@@ -0,0 +1,21 @@
+//
+// MCOObjectWrapper.h
+// mailcore2
+//
+// Created by DINH Viêt Hoà on 1/25/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#include <mailcore/MCObject.h>
+
+@interface MCOObjectWrapper : NSObject
+
+#ifdef __cplusplus
+@property (nonatomic, assign) mailcore::Object * object;
+
++ (MCOObjectWrapper *) objectWrapperWithObject:(mailcore::Object *)object;
+#endif
+
+@end
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
diff --git a/src/objc/utils/NSData+MCO.h b/src/objc/utils/NSData+MCO.h
index ea19e03d..105fd325 100644
--- a/src/objc/utils/NSData+MCO.h
+++ b/src/objc/utils/NSData+MCO.h
@@ -10,8 +10,6 @@
#include <mailcore/MCData.h>
-#ifdef __OBJC__
-
@interface NSData (MCO)
#ifdef __cplusplus
@@ -21,5 +19,3 @@
#endif
@end
-
-#endif
diff --git a/src/objc/utils/NSString+MCO.h b/src/objc/utils/NSString+MCO.h
index cbcdcec4..e7057116 100644
--- a/src/objc/utils/NSString+MCO.h
+++ b/src/objc/utils/NSString+MCO.h
@@ -8,9 +8,7 @@
#import <Foundation/Foundation.h>
-#include <mailcore/mailcore.h>
-
-#ifdef __OBJC__
+#include <mailcore/MCString.h>
@interface NSString (MCO)
@@ -22,5 +20,3 @@
#endif
@end
-
-#endif