• Skip to content
  • Skip to link menu
KDE 4.3 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 
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     //content handling
00060     virtual void parse();
00061     virtual void clear();
00062 
00063     //header access
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     // @cond PRIVATE
00105     explicit Message( MessagePrivate *d );
00106     // @endcond
00107 
00108   private:
00109     Q_DECLARE_PRIVATE( Message )
00110 
00111 }; // class Message
00112 
00113 } // namespace KMime
00114 
00115 #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
  • kabc
  • kblog
  • kcal
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  • kldap
  • kmime
  • 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