diff options
Diffstat (limited to 'src/objc/abstract/MCOMessageHeader.mm')
-rw-r--r-- | src/objc/abstract/MCOMessageHeader.mm | 223 |
1 files changed, 28 insertions, 195 deletions
diff --git a/src/objc/abstract/MCOMessageHeader.mm b/src/objc/abstract/MCOMessageHeader.mm index ac5e8a81..649819e9 100644 --- a/src/objc/abstract/MCOMessageHeader.mm +++ b/src/objc/abstract/MCOMessageHeader.mm @@ -18,22 +18,30 @@ #include "NSData+MCO.h" #include "MCOAddress.h" #include "MCOAddress+Private.h" +#include "MCAddress.h" @implementation MCOMessageHeader { mailcore::MessageHeader * _nativeHeader; } +#define nativeType mailcore::MessageHeader + + (void) initialize { - MCORegisterClass(self, &typeid(mailcore::MessageHeader)); + MCORegisterClass(self, &typeid(nativeType)); } -+ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object ++ (id) mco_objectWithMCObject:(mailcore::Object *)object { mailcore::MessageHeader * header = (mailcore::MessageHeader *) object; return [[[self alloc] initWithMCMessageHeader:header] autorelease]; } +- (mailcore::Object *) mco_mcObject +{ + return _nativeHeader; +} + - (id) init { self = [super init]; @@ -71,201 +79,31 @@ - (NSString *) description { - return [NSString mco_stringWithMCObject:_nativeHeader]; -} - -- (NSString *) messageID -{ - return [NSString mco_stringWithMCString:_nativeHeader->messageID()]; -} - -- (void) setMessageID:(NSString *)messageID -{ - _nativeHeader->setMessageID([messageID mco_mcString]); -} - -- (NSArray *) references -{ - mailcore::Array * msgIDs = _nativeHeader->references(); - if (msgIDs == NULL) - return nil; - - NSMutableArray * result = [NSMutableArray array]; - for(unsigned int i = 0 ; i < msgIDs->count() ; i ++) { - mailcore::String * nativeMsgID = (mailcore::String *) msgIDs->objectAtIndex(i); - [result addObject:[NSString mco_stringWithMCString:nativeMsgID]]; - } - return result; -} - -- (void) setReferences:(NSArray *)references -{ - _nativeHeader->setReferences((mailcore::Array *) [references mco_mcArray]); -} - -- (NSArray *) inReplyTo -{ - mailcore::Array * msgIDs = _nativeHeader->inReplyTo(); - if (msgIDs == NULL) - return nil; - - NSMutableArray * result = [NSMutableArray array]; - for(unsigned int i = 0 ; i < msgIDs->count() ; i ++) { - mailcore::String * nativeMsgID = (mailcore::String *) msgIDs->objectAtIndex(i); - [result addObject:[NSString mco_stringWithMCString:nativeMsgID]]; - } - return result; -} - -- (void) setInReplyTo:(NSArray *)inReplyTo -{ - _nativeHeader->setInReplyTo([inReplyTo mco_mcArray]); -} - -- (NSDate *) date -{ - return [NSDate dateWithTimeIntervalSince1970:_nativeHeader->date()]; -} - -- (void) setDate:(NSDate *)date -{ - _nativeHeader->setDate([date timeIntervalSince1970]); -} - -- (NSDate *) receivedDate -{ - return [NSDate dateWithTimeIntervalSince1970:((NSTimeInterval) _nativeHeader->receivedDate())]; -} - -- (void) setReceivedDate:(NSDate *)receivedDate -{ - _nativeHeader->setReceivedDate(((NSTimeInterval) [receivedDate timeIntervalSince1970])); -} - -- (MCOAddress *) sender -{ - return [[[MCOAddress alloc] initWithMCAddress:_nativeHeader->sender()] autorelease]; -} - -- (void) setSender:(MCOAddress *)sender -{ - _nativeHeader->setSender((mailcore::Address *) [sender mco_mcObject]); -} - -- (MCOAddress *) from -{ - return [MCOAddress addressWithMCAddress:_nativeHeader->from()]; -} - -- (void) setFrom:(MCOAddress *)from -{ - _nativeHeader->setFrom((mailcore::Address *) [from mco_mcObject]); -} - -- (NSArray *) to -{ - mailcore::Array * addresses = _nativeHeader->to(); - if (addresses == NULL) - return nil; - - NSMutableArray * result = [NSMutableArray array]; - for(unsigned int i = 0 ; i < addresses->count() ; i ++) { - mailcore::Address * nativeAddress = (mailcore::Address *) addresses->objectAtIndex(i); - [result addObject:[MCOAddress addressWithMCAddress:nativeAddress]]; - } - return result; + return MCO_OBJC_BRIDGE_GET(description); } -- (void) setTo:(NSArray *)to -{ - _nativeHeader->setTo((mailcore::Array *) [to mco_mcObject]); -} +MCO_OBJC_SYNTHESIZE_STRING(setMessageID, messageID) +MCO_OBJC_SYNTHESIZE_ARRAY(setReferences, references) +MCO_OBJC_SYNTHESIZE_ARRAY(setInReplyTo, inReplyTo) +MCO_OBJC_SYNTHESIZE_DATE(setDate, date) +MCO_OBJC_SYNTHESIZE_DATE(setReceivedDate, receivedDate) +MCO_OBJC_SYNTHESIZE(Address, setSender, sender) +MCO_OBJC_SYNTHESIZE(Address, setFrom, from) +MCO_OBJC_SYNTHESIZE_ARRAY(setTo, to) +MCO_OBJC_SYNTHESIZE_ARRAY(setCc, cc) +MCO_OBJC_SYNTHESIZE_ARRAY(setBcc, bcc) +MCO_OBJC_SYNTHESIZE_ARRAY(setReplyTo, replyTo) +MCO_OBJC_SYNTHESIZE_STRING(setSubject, subject) +MCO_OBJC_SYNTHESIZE_STRING(setUserAgent, userAgent) -- (NSArray *) cc +- (NSString *) extractedSubject { - mailcore::Array * addresses = _nativeHeader->cc(); - if (addresses == NULL) - return nil; - - NSMutableArray * result = [NSMutableArray array]; - for(unsigned int i = 0 ; i < addresses->count() ; i ++) { - mailcore::Address * nativeAddress = (mailcore::Address *) addresses->objectAtIndex(i); - [result addObject:[MCOAddress addressWithMCAddress:nativeAddress]]; - } - return result; + return MCO_OBJC_BRIDGE_GET(extractedSubject); } -- (void) setCc:(NSArray *)cc +- (NSString *) partialExtractedSubject { - _nativeHeader->setCc((mailcore::Array *) [cc mco_mcObject]); -} - -- (NSArray *) bcc -{ - mailcore::Array * addresses = _nativeHeader->bcc(); - if (addresses == NULL) - return nil; - - NSMutableArray * result = [NSMutableArray array]; - for(unsigned int i = 0 ; i < addresses->count() ; i ++) { - mailcore::Address * nativeAddress = (mailcore::Address *) addresses->objectAtIndex(i); - [result addObject:[MCOAddress addressWithMCAddress:nativeAddress]]; - } - return result; -} - -- (void) setBcc:(NSArray *)bcc -{ - _nativeHeader->setBcc((mailcore::Array *) [bcc mco_mcObject]); -} - -- (NSArray *) replyTo -{ - mailcore::Array * addresses = _nativeHeader->replyTo(); - if (addresses == NULL) - return nil; - - NSMutableArray * result = [NSMutableArray array]; - for(unsigned int i = 0 ; i < addresses->count() ; i ++) { - mailcore::Address * nativeAddress = (mailcore::Address *) addresses->objectAtIndex(i); - [result addObject:[MCOAddress addressWithMCAddress:nativeAddress]]; - } - return result; -} - -- (void) setReplyTo:(NSArray *)replyTo -{ - _nativeHeader->setReplyTo((mailcore::Array *) [replyTo mco_mcObject]); -} - -- (NSString *) subject -{ - return [NSString mco_stringWithMCString:_nativeHeader->subject()]; -} - -- (void) setSubject:(NSString *)subject -{ - _nativeHeader->setSubject([subject mco_mcString]); -} - -- (NSString *) userAgent -{ - return [NSString mco_stringWithMCString:_nativeHeader->userAgent()]; -} - -- (void) setUserAgent:(NSString *)userAgent -{ - _nativeHeader->setUserAgent([userAgent mco_mcString]); -} - -- (NSString *) extractedSuject -{ - return [NSString mco_stringWithMCString:_nativeHeader->extractedSubject()]; -} - -- (NSString *) partialExtractedSuject -{ - return [NSString mco_stringWithMCString:_nativeHeader->partialExtractedSubject()]; + return MCO_OBJC_BRIDGE_GET(partialExtractedSubject); } - (void) importHeadersData:(NSData *)data @@ -273,9 +111,4 @@ _nativeHeader->importHeadersData([data mco_mcData]); } -- (mailcore::Object *) mco_mcObject -{ - return _nativeHeader; -} - @end |