aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/abstract/MCOMessageHeader.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/objc/abstract/MCOMessageHeader.mm')
-rw-r--r--src/objc/abstract/MCOMessageHeader.mm223
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