aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/abstract
diff options
context:
space:
mode:
Diffstat (limited to 'src/objc/abstract')
-rw-r--r--src/objc/abstract/MCOAbstractMessageRendererCallback.mm4
-rw-r--r--src/objc/abstract/MCOAbstractPart.h3
-rw-r--r--src/objc/abstract/MCOAbstractPart.mm5
-rw-r--r--src/objc/abstract/MCOAddress.h25
-rw-r--r--src/objc/abstract/MCOAddress.mm23
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