aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/rfc822/MCAttachment.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/rfc822/MCAttachment.h')
-rw-r--r--src/core/rfc822/MCAttachment.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/core/rfc822/MCAttachment.h b/src/core/rfc822/MCAttachment.h
new file mode 100644
index 00000000..0fc4fc98
--- /dev/null
+++ b/src/core/rfc822/MCAttachment.h
@@ -0,0 +1,47 @@
+#ifndef __MAILCORE_MCATTACHMENT_H_
+
+#define __MAILCORE_MCATTACHMENT_H_
+
+#include <mailcore/MCBaseTypes.h>
+#include <mailcore/MCAbstractPart.h>
+#include <mailcore/MCAbstractMultipart.h>
+#include <mailcore/MCMessageConstants.h>
+
+namespace mailcore {
+
+ class MessagePart;
+
+ class Attachment : public AbstractPart {
+ private:
+ Data * mData;
+ void init();
+ static void fillMultipartSubAttachments(AbstractMultipart * multipart, struct mailmime * mime);
+ static AbstractPart * attachmentsWithMIMEWithMain(struct mailmime * mime, bool isMain);
+ static Attachment * attachmentWithSingleMIME(struct mailmime * mime);
+ static MessagePart * attachmentWithMessageMIME(struct mailmime * mime);
+ static Encoding encodingForMIMEEncoding(struct mailmime_mechanism * mechanism, int defaultMimeEncoding);
+
+ public:
+ static String * mimeTypeForFilename(String * filename);
+ static Attachment * attachmentWithContentOfFile(String * filename);
+ static Attachment * attachmentWithHTMLString(String * htmlString);
+ static Attachment * attachmentWithRFC822Message(Data * messageData);
+ static Attachment * attachmentWithText(String * text);
+
+ Attachment();
+ Attachment(Attachment * other);
+ virtual ~Attachment();
+
+ virtual String * description();
+ //virtual String * className();
+ virtual Object * copy();
+
+ virtual void setData(Data * data);
+ virtual Data * data();
+
+ static AbstractPart * attachmentsWithMIME(struct mailmime * mime);
+ };
+
+}
+
+#endif