diff options
Diffstat (limited to 'src/core/rfc822/MCAttachment.h')
-rw-r--r-- | src/core/rfc822/MCAttachment.h | 47 |
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 |