Dacons LLP Mailit for C/C++ Version 1.0.8

MessageComposer.hpp

Go to the documentation of this file.
00001 
00014 #ifndef __MESSAGECOMPOSER_HPP__
00015 #define __MESSAGECOMPOSER_HPP__
00016 
00017 #include "EmaiMessage.hpp"
00018 #include <vector>
00019 
00020 /***************************************************/
00021 //
00022 // MessageComposer class
00023 //
00024 /***************************************************/
00025 
00031 class MessageComposer
00032 {
00033 private:
00034 
00035     Emai::MessagePart                   mTextPart;
00036     Emai::MessagePart                   mHtmlPart;
00037     
00038     typedef std::vector<Emai::MessagePart>
00039                                         MessagePartArray;
00040 
00041     MessagePartArray                    mAttachments; 
00042     MessagePartArray                    mInlines;
00043 
00044 public:
00045 
00046                                         MessageComposer();
00047 
00048                                         ~MessageComposer();
00049 
00050 private:
00051 
00052     Emai::MessagePart                   CreateAlternativeMultipart();
00053 
00054     Emai::MessagePart                   CreateRelatedMultipart(
00055                                             EmaiUint32 parameterValueFlag);
00056 
00057     Emai::MessagePart                   CreateMixedMultipart();
00058 
00059     void                                BindAttachments(
00060                                             Emai::MessagePart& inMessagePart,
00061                                             const MessagePartArray& inAttachments);
00062     
00063 public:
00064 
00071     void                                SetText(
00072                                             EmaiConstCharPtr inPlainText,
00073                                             EmaiUint32 inCharacterSet);
00074 
00081     void                                SetUnicodeText(
00082                                             EmaiConstUniCharPtr inUnicodeText);
00083     
00089     void                                SetHtml(
00090                                             EmaiConstCharPtr inHtmlText);
00091 
00099     void                                AddAttachmentFromData(
00100                                             const void* inData,
00101                                             EmaiUint32 inDataSize,
00102                                             EmaiConstUniCharPtr inFileName);
00103 
00110     void                                AddAttachmentFromFile(
00111                                             EmaiConstUniCharPtr inFileName,
00112                                             EmaiConstUniCharPtr inFileFullPath);
00113 
00122     void                                AddInlineFromData(
00123                                             const void* inData,
00124                                             EmaiUint32 inDataSize,
00125                                             EmaiConstUniCharPtr inFileName,
00126                                             EmaiConstUniCharPtr inContentId /*=NULL*/);
00127 
00135     void                                AddInlineFromFile(
00136                                             EmaiConstUniCharPtr inFileName,
00137                                             EmaiConstUniCharPtr inFileFullPath,
00138                                             EmaiConstUniCharPtr inContentId /*=NULL*/);
00139 
00150     Emai::Message                       ComposeMessage(
00151                                             Emai::ContactList inFromContact,
00152                                             Emai::ContactList inSenderContact,
00153                                             Emai::ContactList inToContact,
00154                                             Emai::ContactList inCCContact,
00155                                             Emai::ContactList inBCContact,
00156                                             EmaiConstUniCharPtr inMessageSubject);
00157 
00158 };
00159 
00160 #endif /*__MESSAGECOMPOSER_HPP__*/