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
00042 class KMIME_EXPORT Message : public Content
00043 {
00044 public:
00048 typedef QList<KMime::Message*> List;
00049
00053 typedef boost::shared_ptr<Message> Ptr;
00054
00056 Message();
00057 ~Message();
00058
00059
00060 virtual void parse();
00061 virtual void clear();
00062
00063
00065 virtual KDE_DEPRECATED KMime::Headers::Base *getHeaderByType( const char *type );
00067 virtual KMime::Headers::Base *headerByType( const char *type );
00068 virtual void setHeader( KMime::Headers::Base *h );
00069 virtual bool removeHeader( const char *type );
00070
00074 virtual KMime::Headers::MessageID *messageID( bool create = true );
00075 virtual KMime::Headers::Subject *subject( bool create = true );
00076 virtual KMime::Headers::Date *date( bool create = true );
00077 virtual KMime::Headers::From *from( bool create = true );
00078 virtual KMime::Headers::Organization *organization( bool create = true );
00079 virtual KMime::Headers::ReplyTo *replyTo( bool create = true );
00080 virtual KMime::Headers::To *to( bool create = true );
00081 virtual KMime::Headers::Cc *cc( bool create = true );
00082 virtual KMime::Headers::Bcc *bcc( bool create = true );
00083 virtual KMime::Headers::References *references( bool create = true );
00084 virtual KMime::Headers::UserAgent *userAgent( bool create = true );
00085 virtual KMime::Headers::InReplyTo *inReplyTo( bool create = true );
00086 virtual KMime::Headers::Sender *sender( bool create = true );
00087
00088 virtual bool isTopLevel() const;
00089
00099 Content* mainBodyPart( const QByteArray &type = QByteArray() );
00100
00101 protected:
00102 virtual QByteArray assembleHeaders();
00103
00104
00105 explicit Message( MessagePrivate *d );
00106
00107
00108 private:
00109 Q_DECLARE_PRIVATE( Message )
00110
00111 };
00112
00113 }
00114
00115 #endif // __KMIME_MESSAGE_H__