• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

KMIME Library

kmime_message.h

00001 /*
00002     kmime_message.h
00003 
00004     KMime, the KDE Internet mail/usenet news message library.
00005     Copyright (c) 2001 the KMime authors.
00006     See file AUTHORS for details
00007 
00008     This library is free software; you can redistribute it and/or
00009     modify it under the terms of the GNU Library General Public
00010     License as published by the Free Software Foundation; either
00011     version 2 of the License, or (at your option) any later version.
00012 
00013     This library is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016     Library General Public License for more details.
00017 
00018     You should have received a copy of the GNU Library General Public License
00019     along with this library; see the file COPYING.LIB.  If not, write to
00020     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00021     Boston, MA 02110-1301, USA.
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     /* reimpl */
00103     virtual void parse();
00104 
00105     /* reimpl */
00106     virtual void clear();
00107 
00108     /* reimpl */
00109     virtual KDE_DEPRECATED KMime::Headers::Base *getHeaderByType( const char *type );
00110 
00111     /* reimpl */
00112     virtual KMime::Headers::Base *headerByType( const char *type );
00113 
00114     /* reimpl */
00115     virtual void setHeader( KMime::Headers::Base *h );
00116 
00117     /* reimpl */
00118     virtual bool removeHeader( const char *type );
00119 
00120     // KDE5: Why are these virtual?
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     /* reimpl */
00200     virtual bool isTopLevel() const;
00201 
00211     Content* mainBodyPart( const QByteArray &type = QByteArray() );
00212 
00216     static QString mimeType();
00217 
00218   protected:
00219     /* reimpl */
00220     virtual QByteArray assembleHeaders();
00221 
00222     // @cond PRIVATE
00223     explicit Message( MessagePrivate *d );
00224     // @endcond
00225 
00226   private:
00227     Q_DECLARE_PRIVATE( Message )
00228 
00229 }; // class Message
00230 
00231 } // namespace KMime
00232 
00233 #endif // __KMIME_MESSAGE_H__

KMIME Library

Skip menu "KMIME Library"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kblog
  • kcal
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal