diff options
Diffstat (limited to 'src/objc/rfc822/MCOAttachment.mm')
-rw-r--r-- | src/objc/rfc822/MCOAttachment.mm | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/objc/rfc822/MCOAttachment.mm b/src/objc/rfc822/MCOAttachment.mm new file mode 100644 index 00000000..d9906a10 --- /dev/null +++ b/src/objc/rfc822/MCOAttachment.mm @@ -0,0 +1,81 @@ +// +// MCOAttachment.m +// mailcore2 +// +// Created by DINH Viêt Hoà on 3/22/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#import "MCOAttachment.h" + +#include "MCAttachment.h" + +#import "MCOAbstractPart+Private.h" +#import "MCOUtils.h" +#import "NSString+MCO.h" +#import "NSObject+MCO.h" + +@implementation MCOAttachment { + NSData * _data; +} + +#define nativeType mailcore::Attachment + ++ (void) initialize +{ + MCORegisterClass(self, &typeid(nativeType)); +} + ++ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object +{ + mailcore::Attachment * attachment = (mailcore::Attachment *) object; + return [[[self alloc] initWithMCPart:attachment] autorelease]; +} + +- (id) init +{ + mailcore::Attachment * attachment = new mailcore::Attachment(); + self = [super initWithMCPart:attachment]; + attachment->release(); + + return self; +} + +- (void) dealloc +{ + [_data release]; + [super dealloc]; +} + ++ (NSString *) mimeTypeForFilename:(NSString *)filename +{ + return [NSString mco_stringWithMCString:mailcore::Attachment::mimeTypeForFilename([filename mco_mcString])]; +} + ++ (MCOAttachment *) attachmentWithContentsOfFile:(NSString *)filename +{ + mailcore::Attachment * result = mailcore::Attachment::attachmentWithContentsOfFile([filename mco_mcString]); + return MCO_TO_OBJC(result); +} + ++ (MCOAttachment *) attachmentWithHTMLString:(NSString *)htmlString +{ + mailcore::Attachment * result = mailcore::Attachment::attachmentWithHTMLString([htmlString mco_mcString]); + return MCO_TO_OBJC(result); +} + ++ (MCOAttachment *) attachmentWithRFC822Message:(NSData *)messageData +{ + mailcore::Attachment * result = mailcore::Attachment::attachmentWithRFC822Message([messageData mco_mcData]); + return MCO_TO_OBJC(result); +} + ++ (MCOAttachment *) attachmentWithText:(NSString *)text +{ + mailcore::Attachment * result = mailcore::Attachment::attachmentWithText([text mco_mcString]); + return MCO_TO_OBJC(result); +} + +MCO_OBJC_SYNTHESIZE_DATA(setData, data) + +@end |