aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/abstract/MCOAbstractPart.mm
diff options
context:
space:
mode:
authorGravatar DINH Viet Hoa <dinh.viet.hoa@gmail.com>2013-03-23 13:15:32 -0700
committerGravatar DINH Viet Hoa <dinh.viet.hoa@gmail.com>2013-03-23 13:15:32 -0700
commit52224ddbbb9b858f27c5861d98c0d91f60db400b (patch)
tree83eb6cae884fff9be1da3d7d041b31e7fd75f996 /src/objc/abstract/MCOAbstractPart.mm
parentae907e6582b9d8faa49c85834dc8b4213af759ed (diff)
Simplified implementation of ObjC setter/getter by using a common implementation. Added RFC822 ObjC API.
Diffstat (limited to 'src/objc/abstract/MCOAbstractPart.mm')
-rw-r--r--src/objc/abstract/MCOAbstractPart.mm115
1 files changed, 19 insertions, 96 deletions
diff --git a/src/objc/abstract/MCOAbstractPart.mm b/src/objc/abstract/MCOAbstractPart.mm
index 1e2f2ef7..2adf8891 100644
--- a/src/objc/abstract/MCOAbstractPart.mm
+++ b/src/objc/abstract/MCOAbstractPart.mm
@@ -18,7 +18,14 @@
mailcore::AbstractPart * _part;
}
-- (id) initWithPart:(mailcore::AbstractPart *)part
+#define nativeType mailcore::AbstractPart
+
+- (mailcore::Object *) mco_mcObject
+{
+ return _part;
+}
+
+- (id) initWithMCPart:(mailcore::AbstractPart *)part
{
self = [super init];
@@ -34,109 +41,25 @@
[super dealloc];
}
-- (MCOPartType) partType
-{
- return (MCOPartType) _part->partType();
-}
-
-- (void) setPartType:(MCOPartType)partType
-{
- _part->setPartType((mailcore::PartType) partType);
-}
-
-- (NSString *) filename
-{
- return [NSString mco_stringWithMCString:_part->filename()];
-}
-
-- (void) setFilename:(NSString *)filename
-{
- _part->setFilename([filename mco_mcString]);
-}
-
-- (NSString *) mimeType
-{
- return [NSString mco_stringWithMCString:_part->mimeType()];
-}
-
-- (void) setMimeType:(NSString *)mimeType
-{
- _part->setMimeType([mimeType mco_mcString]);
-}
-
-- (NSString *) charset
-{
- return [NSString mco_stringWithMCString:_part->charset()];
-}
-
-- (void) setCharset:(NSString *)charset
-{
- _part->setCharset([charset mco_mcString]);
-}
+MCO_OBJC_SYNTHESIZE_SCALAR(MCOPartType, mailcore::PartType, setPartType, partType)
-- (NSString *) uniqueID
-{
- return [NSString mco_stringWithMCString:_part->uniqueID()];
-}
-
-- (void) setUniqueID:(NSString *)uniqueID
-{
- _part->setUniqueID([uniqueID mco_mcString]);
-}
-
-- (NSString *) contentID
-{
- return [NSString mco_stringWithMCString:_part->contentID()];
-}
-
-- (void) setContentID:(NSString *)contentID
-{
- _part->setContentID([contentID mco_mcString]);
-}
-
-- (NSString *) contentLocation
-{
- return [NSString mco_stringWithMCString:_part->contentLocation()];
-}
-
-- (void) setContentLocation:(NSString *)contentLocation
-{
- _part->setContentLocation([contentLocation mco_mcString]);
-}
-
-- (BOOL) isInlineAttachment
-{
- return _part->isInlineAttachment();
-}
-
-- (void) setInlineAttachment:(BOOL)inlineAttachment
-{
- _part->setInlineAttachment(inlineAttachment);
-}
-
-- (MCOAbstractMessage *) message
-{
- return (MCOAbstractMessage *) [NSObject mco_objectWithMCObject:_part->message()];
-}
-
-- (void) setMessage:(MCOAbstractMessage *)message
-{
- _part->setMessage((mailcore::AbstractMessage *) [message mco_mcObject]);
-}
+MCO_OBJC_SYNTHESIZE_STRING(setFilename, filename)
+MCO_OBJC_SYNTHESIZE_STRING(setMimeType, mimeType)
+MCO_OBJC_SYNTHESIZE_STRING(setCharset, charset)
+MCO_OBJC_SYNTHESIZE_STRING(setUniqueID, uniqueID)
+MCO_OBJC_SYNTHESIZE_STRING(setContentID, contentID)
+MCO_OBJC_SYNTHESIZE_STRING(setContentLocation, contentLocation)
+MCO_OBJC_SYNTHESIZE_BOOL(setInlineAttachment, isInlineAttachment)
+MCO_OBJC_SYNTHESIZE(AbstractMessage, setMessage, message)
- (MCOAbstractPart *) partForContentID:(NSString *)contentID
{
- return (MCOAbstractPart *) [NSObject mco_objectWithMCObject:_part->partForContentID([contentID mco_mcString])];
+ return MCO_TO_OBJC(MCO_NATIVE_INSTANCE->partForContentID([contentID mco_mcString]));
}
- (MCOAbstractPart *) partForUniqueID:(NSString *)uniqueID
{
- return (MCOAbstractPart *) [NSObject mco_objectWithMCObject:_part->partForUniqueID([uniqueID mco_mcString])];
-}
-
-- (mailcore::Object *) mco_mcObject
-{
- return _part;
+ return MCO_TO_OBJC(MCO_NATIVE_INSTANCE->partForUniqueID([uniqueID mco_mcString]));
}
@end