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