diff options
Diffstat (limited to 'src/objc/utils')
-rw-r--r-- | src/objc/utils/MCOObjectWrapper.h | 6 | ||||
-rw-r--r-- | src/objc/utils/MCOOperation+Private.h | 8 | ||||
-rw-r--r-- | src/objc/utils/MCOOperation.h | 6 | ||||
-rw-r--r-- | src/objc/utils/MCOUtils.h | 24 | ||||
-rw-r--r-- | src/objc/utils/NSArray+MCO.h | 6 | ||||
-rw-r--r-- | src/objc/utils/NSData+MCO.h | 6 | ||||
-rw-r--r-- | src/objc/utils/NSDictionary+MCO.h | 6 | ||||
-rw-r--r-- | src/objc/utils/NSError+MCO.h | 7 | ||||
-rw-r--r-- | src/objc/utils/NSObject+MCO.h | 63 | ||||
-rw-r--r-- | src/objc/utils/NSObject+MCO.mm | 4 | ||||
-rw-r--r-- | src/objc/utils/NSString+MCO.h | 6 | ||||
-rw-r--r-- | src/objc/utils/NSValue+MCO.h | 8 |
12 files changed, 144 insertions, 6 deletions
diff --git a/src/objc/utils/MCOObjectWrapper.h b/src/objc/utils/MCOObjectWrapper.h index 6827bde9..2fd34018 100644 --- a/src/objc/utils/MCOObjectWrapper.h +++ b/src/objc/utils/MCOObjectWrapper.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_MCOOBJECTWRAPPER_H_ + +#define __MAILCORE_MCOOBJECTWRAPPER_H_ + #import <Foundation/Foundation.h> #ifdef __cplusplus @@ -23,3 +27,5 @@ namespace mailcore { #endif @end + +#endif diff --git a/src/objc/utils/MCOOperation+Private.h b/src/objc/utils/MCOOperation+Private.h index 620b0fe8..ccd1b983 100644 --- a/src/objc/utils/MCOOperation+Private.h +++ b/src/objc/utils/MCOOperation+Private.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_MCOPERATION_PRIVATE_H_ + +#define __MAILCORE_MCOPERATION_PRIVATE_H_ + #ifdef __cplusplus namespace mailcore { class Operation; @@ -20,4 +24,6 @@ namespace mailcore { - (mailcore::Operation *)mcOperation; #endif - (void)start; -@end
\ No newline at end of file +@end + +#endif diff --git a/src/objc/utils/MCOOperation.h b/src/objc/utils/MCOOperation.h index deafa165..e44ea236 100644 --- a/src/objc/utils/MCOOperation.h +++ b/src/objc/utils/MCOOperation.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 __MyCompanyName__. All rights reserved. // +#ifndef __MAILCORE_MCOOPERATION_H_ + +#define __MAILCORE_MCOOPERATION_H_ + #import <Foundation/Foundation.h> @interface MCOOperation : NSObject @@ -13,3 +17,5 @@ - (void)cancel; @end + +#endif diff --git a/src/objc/utils/MCOUtils.h b/src/objc/utils/MCOUtils.h new file mode 100644 index 00000000..3862ba5b --- /dev/null +++ b/src/objc/utils/MCOUtils.h @@ -0,0 +1,24 @@ +// +// MCOUtils.h +// mailcore2 +// +// Created by DINH Viêt Hoà on 3/22/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#ifndef mailcore2_MCOUtils_h +#define mailcore2_MCOUtils_h + +#import <mailcore/MCOObjectWrapper.h> +#import <mailcore/NSData+MCO.h> +#import <mailcore/NSString+MCO.h> +#import <mailcore/NSDictionary+MCO.h> +#import <mailcore/NSArray+MCO.h> +#import <mailcore/NSObject+MCO.h> +#import <mailcore/MCOObjectWrapper.h> +#import <mailcore/NSError+MCO.h> +#import <mailcore/NSValue+MCO.h> +#import <mailcore/MCOOperation.h> +#import <mailcore/MCOConstants.h> + +#endif diff --git a/src/objc/utils/NSArray+MCO.h b/src/objc/utils/NSArray+MCO.h index 769da85d..836ef9c0 100644 --- a/src/objc/utils/NSArray+MCO.h +++ b/src/objc/utils/NSArray+MCO.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_NSARRAY_MCO_H_ + +#define __MAILCORE_NSARRAY_MCO_H_ + #import <Foundation/Foundation.h> #ifdef __cplusplus @@ -23,3 +27,5 @@ namespace mailcore { #endif @end + +#endif diff --git a/src/objc/utils/NSData+MCO.h b/src/objc/utils/NSData+MCO.h index 9a0b39cc..fb581abe 100644 --- a/src/objc/utils/NSData+MCO.h +++ b/src/objc/utils/NSData+MCO.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_NSDATA_MCO_H_ + +#define __MAILCORE_NSDATA_MCO_H_ + #import <Foundation/Foundation.h> #ifdef __cplusplus @@ -23,3 +27,5 @@ namespace mailcore { #endif @end + +#endif diff --git a/src/objc/utils/NSDictionary+MCO.h b/src/objc/utils/NSDictionary+MCO.h index 8e78a872..bdc842de 100644 --- a/src/objc/utils/NSDictionary+MCO.h +++ b/src/objc/utils/NSDictionary+MCO.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_NSDICTIONARY_MCO_H_ + +#define __MAILCORE_NSDICTIONARY_MCO_H_ + #import <Foundation/Foundation.h> #ifdef __cplusplus @@ -23,3 +27,5 @@ namespace mailcore { #endif @end + +#endif
\ No newline at end of file diff --git a/src/objc/utils/NSError+MCO.h b/src/objc/utils/NSError+MCO.h index 1d8ca85b..baf48f45 100644 --- a/src/objc/utils/NSError+MCO.h +++ b/src/objc/utils/NSError+MCO.h @@ -2,6 +2,9 @@ // Created by mronge on 1/31/13. // +#ifndef __MAILCORE_NSERROR_MCO_H_ + +#define __MAILCORE_NSERROR_MCO_H_ #import <Foundation/Foundation.h> @@ -11,4 +14,6 @@ #ifdef __cplusplus + (NSError *)mco_errorWithErrorCode:(mailcore::ErrorCode)code; #endif -@end
\ No newline at end of file +@end + +#endif diff --git a/src/objc/utils/NSObject+MCO.h b/src/objc/utils/NSObject+MCO.h index 6cc24884..31818ce3 100644 --- a/src/objc/utils/NSObject+MCO.h +++ b/src/objc/utils/NSObject+MCO.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_NSOBJECT_MCO_H_ + +#define __MAILCORE_NSOBJECT_MCO_H_ + #import <Foundation/Foundation.h> #ifdef __cplusplus @@ -18,10 +22,66 @@ namespace mailcore { } #endif +#define MCO_NATIVE_INSTANCE ((nativeType *) [self mco_mcObject]) + +#define MCO_TO_OBJC(mcValue) \ + [NSObject mco_objectWithMCObject:((mailcore::Object *) (mcValue))] + +#define MCO_FROM_OBJC(type, objcValue) \ + ((type *) [(objcValue) mco_mcObject]) + +#define MCO_OBJC_BRIDGE_SET(setter, mcValueType, objcValue) \ + MCO_NATIVE_INSTANCE->setter((mcValueType *) [(objcValue) mco_mcObject]) + +#define MCO_OBJC_BRIDGE_GET(getter) \ + [NSObject mco_objectWithMCObject:MCO_NATIVE_INSTANCE->getter()] + +#define MCO_OBJC_SYNTHESIZE_TYPE(objcType, mcType, setter, getter) \ +- (objcType *) getter \ +{ \ +return MCO_OBJC_BRIDGE_GET(getter); \ +} \ +\ +- (void) setter:(objcType *)getter \ +{ \ +MCO_OBJC_BRIDGE_SET(setter, mcType, getter); \ +} + +#define MCO_OBJC_SYNTHESIZE(type, setter, getter) \ + MCO_OBJC_SYNTHESIZE_TYPE(MCO ## type, mailcore::type, setter, getter) + +#define MCO_OBJC_SYNTHESIZE_SCALAR(objcType, mcType, setter, getter) \ +- (objcType) getter \ +{ \ +return (objcType) MCO_NATIVE_INSTANCE->getter(); \ +} \ +\ +- (void) setter:(objcType)getter \ +{ \ +MCO_NATIVE_INSTANCE->setter((mcType) getter); \ +} + +#define MCO_OBJC_SYNTHESIZE_STRING(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSString, mailcore::String, setter, getter) +#define MCO_OBJC_SYNTHESIZE_ARRAY(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSArray, mailcore::Array, setter, getter) +#define MCO_OBJC_SYNTHESIZE_DATA(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSData, mailcore::Data, setter, getter) +#define MCO_OBJC_SYNTHESIZE_HASHMAP(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSDictionary, mailcore::HashMap, setter, getter) +#define MCO_OBJC_SYNTHESIZE_BOOL(setter, getter) MCO_OBJC_SYNTHESIZE_SCALAR(BOOL, bool, setter, getter) + +#define MCO_OBJC_SYNTHESIZE_DATE(setter, getter) \ +- (NSDate *) getter \ +{ \ + return [NSDate dateWithTimeIntervalSince1970:MCO_NATIVE_INSTANCE->getter()]; \ +} \ +\ +- (void) setter:(NSDate *)getter \ +{ \ + MCO_NATIVE_INSTANCE->setter([getter timeIntervalSince1970]); \ +} + @interface NSObject (MCO) #ifdef __cplusplus -+ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object; ++ (id) mco_objectWithMCObject:(mailcore::Object *)object; - (mailcore::Object *) mco_mcObject; #endif @@ -32,3 +92,4 @@ namespace mailcore { extern void MCORegisterClass(Class aClass, const std::type_info * info); #endif +#endif diff --git a/src/objc/utils/NSObject+MCO.mm b/src/objc/utils/NSObject+MCO.mm index 52a1bc43..0e0411d0 100644 --- a/src/objc/utils/NSObject+MCO.mm +++ b/src/objc/utils/NSObject+MCO.mm @@ -56,7 +56,7 @@ static Class classWithTypeInfo(const std::type_info * info) @implementation NSObject (MCO) -+ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object ++ (id) mco_objectWithMCObject:(mailcore::Object *)object { if (&typeid(object) == &typeid(mailcore::Value *)) { return [NSValue mco_valueWithMCValue:(mailcore::Value *) object]; @@ -76,7 +76,7 @@ static Class classWithTypeInfo(const std::type_info * info) else { Class aClass = classWithTypeInfo(&typeid(* object)); MCAssert(aClass != nil); - return (NSObject *) [aClass mco_objectWithMCObject:object]; + return [aClass mco_objectWithMCObject:object]; } } diff --git a/src/objc/utils/NSString+MCO.h b/src/objc/utils/NSString+MCO.h index 33cc0b67..b459a846 100644 --- a/src/objc/utils/NSString+MCO.h +++ b/src/objc/utils/NSString+MCO.h @@ -6,6 +6,10 @@ // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_NSSTRING_MCO_H_ + +#define __MAILCORE_NSSTRING_MCO_H_ + #import <Foundation/Foundation.h> #ifdef __cplusplus @@ -25,3 +29,5 @@ namespace mailcore { #endif @end + +#endif diff --git a/src/objc/utils/NSValue+MCO.h b/src/objc/utils/NSValue+MCO.h index bee3c742..484fc205 100644 --- a/src/objc/utils/NSValue+MCO.h +++ b/src/objc/utils/NSValue+MCO.h @@ -1,11 +1,15 @@ // -// NSNumber+MCO.h +// NSValue+MCO.h // mailcore2 // // Created by DINH Viêt Hoà on 3/21/13. // Copyright (c) 2013 MailCore. All rights reserved. // +#ifndef __MAILCORE_NSVALUE_MCO_H_ + +#define __MAILCORE_NSVALUE_MCO_H_ + #import <Foundation/Foundation.h> #ifdef __cplusplus @@ -23,3 +27,5 @@ namespace mailcore { #endif @end + +#endif |