diff options
Diffstat (limited to 'src/objc/utils')
-rw-r--r-- | src/objc/utils/MCOObjectWrapper.h | 6 | ||||
-rw-r--r-- | src/objc/utils/MCOObjectWrapper.mm | 1 | ||||
-rw-r--r-- | src/objc/utils/NSArray+MCO.h | 23 | ||||
-rw-r--r-- | src/objc/utils/NSArray+MCO.mm | 26 | ||||
-rw-r--r-- | src/objc/utils/NSData+MCO.h | 6 | ||||
-rw-r--r-- | src/objc/utils/NSData+MCO.mm | 2 | ||||
-rw-r--r-- | src/objc/utils/NSDictionary+MCO.h | 23 | ||||
-rw-r--r-- | src/objc/utils/NSDictionary+MCO.mm | 27 | ||||
-rw-r--r-- | src/objc/utils/NSObject+MCO.h | 23 | ||||
-rw-r--r-- | src/objc/utils/NSObject+MCO.mm | 42 | ||||
-rw-r--r-- | src/objc/utils/NSString+MCO.h | 7 | ||||
-rw-r--r-- | src/objc/utils/NSString+MCO.mm | 2 |
12 files changed, 185 insertions, 3 deletions
diff --git a/src/objc/utils/MCOObjectWrapper.h b/src/objc/utils/MCOObjectWrapper.h index eac1a457..6827bde9 100644 --- a/src/objc/utils/MCOObjectWrapper.h +++ b/src/objc/utils/MCOObjectWrapper.h @@ -8,7 +8,11 @@ #import <Foundation/Foundation.h> -#include <mailcore/MCObject.h> +#ifdef __cplusplus +namespace mailcore { + class Object; +} +#endif @interface MCOObjectWrapper : NSObject diff --git a/src/objc/utils/MCOObjectWrapper.mm b/src/objc/utils/MCOObjectWrapper.mm index 74a2afe7..e4fda2ae 100644 --- a/src/objc/utils/MCOObjectWrapper.mm +++ b/src/objc/utils/MCOObjectWrapper.mm @@ -9,6 +9,7 @@ #import "MCOObjectWrapper.h" #include "MCUtils.h" +#include "MCObject.h" @implementation MCOObjectWrapper { mailcore::Object * mObject; diff --git a/src/objc/utils/NSArray+MCO.h b/src/objc/utils/NSArray+MCO.h new file mode 100644 index 00000000..8d95acbc --- /dev/null +++ b/src/objc/utils/NSArray+MCO.h @@ -0,0 +1,23 @@ +// +// NSArray+MCO.h +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/29/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#ifdef __cplusplus +namespace mailcore { + class Array; +} +#endif + +@interface NSArray (MCO) + +#ifdef __cplusplus +- (mailcore::Array *) mco_mcArray; +#endif + +@end diff --git a/src/objc/utils/NSArray+MCO.mm b/src/objc/utils/NSArray+MCO.mm new file mode 100644 index 00000000..1c4ef3e6 --- /dev/null +++ b/src/objc/utils/NSArray+MCO.mm @@ -0,0 +1,26 @@ +// +// NSArray+MCO.cpp +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/29/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import "NSArray+MCO.h" + +#include "MCBaseTypes.h" + +#import "NSObject+MCO.h" + +@implementation NSArray (MCO) + +- (mailcore::Array *) mco_mcArray +{ + mailcore::Array * result = mailcore::Array::array(); + for(NSObject * value in self) { + [value mco_mcObject]; + } + return result; +} + +@end diff --git a/src/objc/utils/NSData+MCO.h b/src/objc/utils/NSData+MCO.h index 105fd325..9a0b39cc 100644 --- a/src/objc/utils/NSData+MCO.h +++ b/src/objc/utils/NSData+MCO.h @@ -8,7 +8,11 @@ #import <Foundation/Foundation.h> -#include <mailcore/MCData.h> +#ifdef __cplusplus +namespace mailcore { + class Data; +} +#endif @interface NSData (MCO) diff --git a/src/objc/utils/NSData+MCO.mm b/src/objc/utils/NSData+MCO.mm index 70838280..dd279554 100644 --- a/src/objc/utils/NSData+MCO.mm +++ b/src/objc/utils/NSData+MCO.mm @@ -8,6 +8,8 @@ #import "NSData+MCO.h" +#include "MCData.h" + @implementation NSData (MCO) + (NSData *) mco_dataWithMCData:(mailcore::Data *)cppData diff --git a/src/objc/utils/NSDictionary+MCO.h b/src/objc/utils/NSDictionary+MCO.h new file mode 100644 index 00000000..71812a46 --- /dev/null +++ b/src/objc/utils/NSDictionary+MCO.h @@ -0,0 +1,23 @@ +// +// NSDictionary+MCO.h +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/29/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#ifdef __cplusplus +namespace mailcore { + class HashMap; +} +#endif + +@interface NSDictionary (MCO) + +#ifdef __cplusplus +- (mailcore::HashMap *) mco_mcHashMap; +#endif + +@end diff --git a/src/objc/utils/NSDictionary+MCO.mm b/src/objc/utils/NSDictionary+MCO.mm new file mode 100644 index 00000000..a751f85b --- /dev/null +++ b/src/objc/utils/NSDictionary+MCO.mm @@ -0,0 +1,27 @@ +// +// NSDictionary+MCO.m +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/29/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import "NSDictionary+MCO.h" + +#include "MCBaseTypes.h" + +#import "NSObject+MCO.h" + +@implementation NSDictionary (MCO) + +- (mailcore::HashMap *) mco_mcHashMap +{ + mailcore::HashMap * result = mailcore::HashMap::hashMap(); + for(NSObject * key in self) { + NSObject * value = [self objectForKey:key]; + result->setObjectForKey([key mco_mcObject], [value mco_mcObject]); + } + return result; +} + +@end diff --git a/src/objc/utils/NSObject+MCO.h b/src/objc/utils/NSObject+MCO.h new file mode 100644 index 00000000..349bd27a --- /dev/null +++ b/src/objc/utils/NSObject+MCO.h @@ -0,0 +1,23 @@ +// +// NSObject+MCO.h +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/29/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#ifdef __cplusplus +namespace mailcore { + class Object; +} +#endif + +@interface NSObject (MCO) + +#ifdef __cplusplus +- (mailcore::Object *) mco_mcObject; +#endif + +@end diff --git a/src/objc/utils/NSObject+MCO.mm b/src/objc/utils/NSObject+MCO.mm new file mode 100644 index 00000000..e25db319 --- /dev/null +++ b/src/objc/utils/NSObject+MCO.mm @@ -0,0 +1,42 @@ +// +// NSObject+MCO.m +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/29/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import "NSObject+MCO.h" + +#import "NSData+MCO.h" +#import "NSString+MCO.h" +#import "NSDictionary+MCO.h" +#import "NSArray+MCO.h" + +#include "MCBaseTypes.h" +#include "MCUtils.h" + +@implementation NSObject (MCO) + +- (mailcore::Object *) mco_mcObject +{ + if ([self isKindOfClass:[NSData class]]) { + return [(NSData *) self mco_mcData]; + } + else if ([self isKindOfClass:[NSString class]]) { + return [(NSString *) self mco_mcString]; + } + else if ([self isKindOfClass:[NSArray class]]) { + return [(NSArray *) self mco_mcArray]; + } + else if ([self isKindOfClass:[NSDictionary class]]) { + return [(NSDictionary *) self mco_mcHashMap]; + } + else { + MCAssert(0); + return nil; + } + +} + +@end diff --git a/src/objc/utils/NSString+MCO.h b/src/objc/utils/NSString+MCO.h index e7057116..33cc0b67 100644 --- a/src/objc/utils/NSString+MCO.h +++ b/src/objc/utils/NSString+MCO.h @@ -8,7 +8,12 @@ #import <Foundation/Foundation.h> -#include <mailcore/MCString.h> +#ifdef __cplusplus +namespace mailcore { + class String; + class Object; +} +#endif @interface NSString (MCO) diff --git a/src/objc/utils/NSString+MCO.mm b/src/objc/utils/NSString+MCO.mm index 803e9f24..3d692b76 100644 --- a/src/objc/utils/NSString+MCO.mm +++ b/src/objc/utils/NSString+MCO.mm @@ -8,6 +8,8 @@ #import "NSString+MCO.h" +#include "MCString.h" + @implementation NSString (MCO) + (NSString *) mco_stringWithMCString:(mailcore::String *)cppString |