diff options
author | Hoa V. Dinh <dinh.viet.hoa@gmail.com> | 2013-08-02 16:04:52 -0700 |
---|---|---|
committer | Hoa V. Dinh <dinh.viet.hoa@gmail.com> | 2013-08-02 16:04:52 -0700 |
commit | 16c831150b83221077daf8d136439f5b84b335a4 (patch) | |
tree | 3bc509df03d9633307a84268c9874d5ed6d5c7f0 /src/objc/utils | |
parent | ff7e811ee7931cae312b3128ccfd931aa13187e6 (diff) |
Make MCORange and MCOIndexSet serializable
Diffstat (limited to 'src/objc/utils')
-rw-r--r-- | src/objc/utils/MCOIndexSet.mm | 2 | ||||
-rw-r--r-- | src/objc/utils/MCORange.h | 6 | ||||
-rw-r--r-- | src/objc/utils/MCORange.mm | 12 |
3 files changed, 20 insertions, 0 deletions
diff --git a/src/objc/utils/MCOIndexSet.mm b/src/objc/utils/MCOIndexSet.mm index afe9c346..628ae23f 100644 --- a/src/objc/utils/MCOIndexSet.mm +++ b/src/objc/utils/MCOIndexSet.mm @@ -18,6 +18,8 @@ #define nativeType mailcore::IndexSet +MCO_SYNTHESIZE_NSCODING + + (void) load { MCORegisterClass(self, &typeid(nativeType)); diff --git a/src/objc/utils/MCORange.h b/src/objc/utils/MCORange.h index e3fac7fd..fad9a454 100644 --- a/src/objc/utils/MCORange.h +++ b/src/objc/utils/MCORange.h @@ -64,6 +64,12 @@ uint64_t MCORangeLeftBound(MCORange range); /** Returns right bound of a range.*/ uint64_t MCORangeRightBound(MCORange range); +/** Returns a serializable form (NSString) of a range */ +NSString * MCORangeToString(MCORange range); + +/** Create a range from a serializable form (NSString). */ +MCORange MCORangeFromString(NSString * rangeString); + #ifdef __cplusplus } #endif diff --git a/src/objc/utils/MCORange.mm b/src/objc/utils/MCORange.mm index 36c7720c..bfeee93a 100644 --- a/src/objc/utils/MCORange.mm +++ b/src/objc/utils/MCORange.mm @@ -10,6 +10,8 @@ #import "MCOIndexSet.h" #import "MCOIndexSet+Private.h" +#import "NSObject+MCO.h" +#import "NSString+MCO.h" #include <string.h> @@ -79,3 +81,13 @@ uint64_t MCORangeRightBound(MCORange range) return mailcore::RangeRightBound(mcRange); } +NSString * MCORangeToString(MCORange range) +{ + return MCO_TO_OBJC(mailcore::RangeToString(MCORangeToMCRange(range))); +} + +MCORange MCORangeFromString(NSString * rangeString) +{ + return MCORangeWithMCRange(mailcore::RangeFromString([rangeString mco_mcString])); +} + |