KMIME Library
kmime_message.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __KMIME_MESSAGE_H__
00024 #define __KMIME_MESSAGE_H__
00025
00026 #include "kmime_export.h"
00027 #include "kmime_content.h"
00028 #include "kmime_headers.h"
00029 #include "boolflags.h"
00030
00031 namespace boost {
00032 template <typename T> class shared_ptr;
00033 }
00034
00035 namespace KMime {
00036
00037 class MessagePrivate;
00038
00079 class KMIME_EXPORT Message : public Content
00080 {
00081 public:
00085 typedef QList<KMime::Message*> List;
00086
00090 typedef boost::shared_ptr<Message> Ptr;
00091
00095 Message();
00096
00100 ~Message();
00101
00102
00103 virtual void parse();
00104
00105
00106 virtual void clear();
00107
00108
00109 virtual KDE_DEPRECATED KMime::Headers::Base *getHeaderByType( const char *type );
00110
00111
00112 virtual KMime::Headers::Base *headerByType( const char *type );
00113
00114
00115 virtual void setHeader( KMime::Headers::Base *h );
00116
00117
00118 virtual bool removeHeader( const char *type );
00119
00120
00125 virtual KMime::Headers::MessageID *messageID( bool create = true );
00126
00131 virtual KMime::Headers::Subject *subject( bool create = true );
00132
00137 virtual KMime::Headers::Date *date( bool create = true );
00138
00143 virtual KMime::Headers::From *from( bool create = true );
00144
00149 virtual KMime::Headers::Organization *organization( bool create = true );
00150
00155 virtual KMime::Headers::ReplyTo *replyTo( bool create = true );
00156
00161 virtual KMime::Headers::To *to( bool create = true );
00162
00167 virtual KMime::Headers::Cc *cc( bool create = true );
00168
00173 virtual KMime::Headers::Bcc *bcc( bool create = true );
00174
00179 virtual KMime::Headers::References *references( bool create = true );
00180
00185 virtual KMime::Headers::UserAgent *userAgent( bool create = true );
00186
00191 virtual KMime::Headers::InReplyTo *inReplyTo( bool create = true );
00192
00197 virtual KMime::Headers::Sender *sender( bool create = true );
00198
00199
00200 virtual bool isTopLevel() const;
00201
00211 Content* mainBodyPart( const QByteArray &type = QByteArray() );
00212
00216 static QString mimeType();
00217
00218 protected:
00219
00220 virtual QByteArray assembleHeaders();
00221
00222
00223 explicit Message( MessagePrivate *d );
00224
00225
00226 private:
00227 Q_DECLARE_PRIVATE( Message )
00228
00229 };
00230
00231 }
00232
00233 #endif // __KMIME_MESSAGE_H__