diff options
Diffstat (limited to 'src/objc')
-rw-r--r-- | src/objc/MCObjC.h | 20 | ||||
-rw-r--r-- | src/objc/utils/MCOObjectWrapper.h | 21 | ||||
-rw-r--r-- | src/objc/utils/MCOObjectWrapper.mm | 42 | ||||
-rw-r--r-- | src/objc/utils/NSData+MCO.h | 4 | ||||
-rw-r--r-- | src/objc/utils/NSString+MCO.h | 6 |
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 |