diff options
Diffstat (limited to 'src/objc/abstract')
-rw-r--r-- | src/objc/abstract/MCOAbstractMessageRendererCallback.mm | 4 | ||||
-rw-r--r-- | src/objc/abstract/MCOAbstractPart.h | 3 | ||||
-rw-r--r-- | src/objc/abstract/MCOAbstractPart.mm | 5 | ||||
-rw-r--r-- | src/objc/abstract/MCOAddress.h | 25 | ||||
-rw-r--r-- | src/objc/abstract/MCOAddress.mm | 23 |
5 files changed, 43 insertions, 17 deletions
diff --git a/src/objc/abstract/MCOAbstractMessageRendererCallback.mm b/src/objc/abstract/MCOAbstractMessageRendererCallback.mm index 8905acf5..883cb25f 100644 --- a/src/objc/abstract/MCOAbstractMessageRendererCallback.mm +++ b/src/objc/abstract/MCOAbstractMessageRendererCallback.mm @@ -104,7 +104,7 @@ mailcore::String * MCOAbstractMessageRendererCallback::templateForEmbeddedMessag { mailcore::String * result = NULL; if ([mRendererDelegate respondsToSelector:@selector(MCOAbstractMessage_templateForEmbeddedMessage:)]) { - return MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessage:mMessage]); + result = MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessage:mMessage]); } if (result == NULL) { result = mailcore::HTMLRendererTemplateCallback::templateForEmbeddedMessage(); @@ -116,7 +116,7 @@ mailcore::String * MCOAbstractMessageRendererCallback::templateForEmbeddedMessag { mailcore::String * result = NULL; if ([mRendererDelegate respondsToSelector:@selector(MCOAbstractMessage_templateForEmbeddedMessageHeader:)]) { - return MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessageHeader:mMessage]); + result = MCO_FROM_OBJC(mailcore::String, [mRendererDelegate MCOAbstractMessage_templateForEmbeddedMessageHeader:mMessage]); } if (result == NULL) { result = mailcore::HTMLRendererTemplateCallback::templateForEmbeddedMessageHeader(); diff --git a/src/objc/abstract/MCOAbstractPart.h b/src/objc/abstract/MCOAbstractPart.h index 6fb14fcd..5c636a19 100644 --- a/src/objc/abstract/MCOAbstractPart.h +++ b/src/objc/abstract/MCOAbstractPart.h @@ -74,6 +74,9 @@ typedef enum { // Returns the part with the given unique identifier among this part and its subparts. - (MCOAbstractPart *) partForUniqueID:(NSString *)uniqueID; +// Returns a string representation of the data according to charset. +- (NSString *) decodedStringForData:(NSData *)data; + @end #endif diff --git a/src/objc/abstract/MCOAbstractPart.mm b/src/objc/abstract/MCOAbstractPart.mm index 1d17ca20..47191ce9 100644 --- a/src/objc/abstract/MCOAbstractPart.mm +++ b/src/objc/abstract/MCOAbstractPart.mm @@ -14,6 +14,7 @@ #import "NSString+MCO.h" #import "NSObject+MCO.h" +#import "NSData+MCO.h" @implementation MCOAbstractPart { mailcore::AbstractPart * _part; @@ -68,4 +69,8 @@ MCO_OBJC_SYNTHESIZE(AbstractMessage, setMessage, message) return MCO_TO_OBJC(MCO_NATIVE_INSTANCE->partForUniqueID([uniqueID mco_mcString])); } +- (NSString *) decodedStringForData:(NSData *)data +{ + return [NSString mco_stringWithMCString:MCO_NATIVE_INSTANCE->decodedStringForData([data mco_mcData])]; +} @end diff --git a/src/objc/abstract/MCOAddress.h b/src/objc/abstract/MCOAddress.h index 33f2c545..c7552676 100644 --- a/src/objc/abstract/MCOAddress.h +++ b/src/objc/abstract/MCOAddress.h @@ -31,6 +31,17 @@ // Example: [MCOAddress addressWithRFC822String:@"DINH Viêt Hoà <hoa@etpan.org>"] + (MCOAddress *) addressWithNonEncodedRFC822String:(NSString *)nonEncodedRFC822String; +// Returns an NSArray of MCOAddress objects that contain the parsed +// forms of the RFC822 encoded addresses. +// For example: @[ @"DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>" ] ++ (NSArray *) addressesWithRFC822String:(NSString *)string; + +// Returns an NSArray of MCOAddress objects that contain the parsed +// forms of non-encoded RFC822 addresses. +// For example: @[ "DINH Viêt Hoà <hoa@etpan.org>" ] ++ (NSArray *) addressesWithNonEncodedRFC822String:(NSString *)string; + + // Returns the display name of the address. @property (nonatomic, copy) NSString * displayName; @@ -47,17 +58,13 @@ @end -@interface MCOAddress (MCONSArray) +@interface NSArray (MCONSArray) -// Returns an NSArray of MCOAddress objects that contain the parsed -// forms of the RFC822 encoded addresses. -// For example: @[ @"DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>" ] -+ (NSArray *) addressesWithRFC822String:(NSString *)string; +// Returns the RFC822 encoding of the addresses. +- (NSString *) mco_RFC822StringForAddresses; -// Returns an NSArray of MCOAddress objects that contain the parsed -// forms of non-encoded RFC822 addresses. -// For example: @[ "DINH Viêt Hoà <hoa@etpan.org>" ] -+ (NSArray *) addressesWithNonEncodedRFC822String:(NSString *)string; +// Returns the non-MIME-encoded RFC822 of the addresses. +- (NSString *) mco_nonEncodedRFC822StringForAddresses; @end diff --git a/src/objc/abstract/MCOAddress.mm b/src/objc/abstract/MCOAddress.mm index 6676e1a2..7a398421 100644 --- a/src/objc/abstract/MCOAddress.mm +++ b/src/objc/abstract/MCOAddress.mm @@ -83,6 +83,17 @@ return result; } ++ (NSArray *) addressesWithRFC822String:(NSString *)string +{ + return [NSArray mco_arrayWithMCArray:mailcore::Address::addressesWithRFC822String(string.mco_mcString)]; +} + ++ (NSArray *) addressesWithNonEncodedRFC822String:(NSString *)string +{ + return [NSArray mco_arrayWithMCArray:mailcore::Address::addressesWithNonEncodedRFC822String(string.mco_mcString)]; +} + + - (id) init { self = [super init]; @@ -136,16 +147,16 @@ MCO_OBJC_SYNTHESIZE_STRING(setMailbox, mailbox) @end -@implementation MCOAddress (MCONSArray) +@implementation NSArray (MCONSArray) -+ (NSArray *) addressesWithRFC822String:(NSString *)string +- (NSString *) mco_RFC822StringForAddresses { - return [NSArray mco_arrayWithMCArray:mailcore::Address::addressesWithRFC822String(string.mco_mcString)]; + return [NSString mco_stringWithMCString:mailcore::Address::RFC822StringForAddresses([self mco_mcArray])]; } -+ (NSArray *) addressesWithNonEncodedRFC822String:(NSString *)string -{ - return [NSArray mco_arrayWithMCArray:mailcore::Address::addressesWithNonEncodedRFC822String(string.mco_mcString)]; +- (NSString *) mco_nonEncodedRFC822StringForAddresses +{ + return [NSString mco_stringWithMCString:mailcore::Address::nonEncodedRFC822StringForAddresses([self mco_mcArray ])]; } @end |