• Skip to content
  • Skip to link menu
KDE 4.1 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 KMime {
00032 
00033 class MessagePrivate;
00034 
00038 class KMIME_EXPORT Message : public Content
00039 {
00040   public:
00041     typedef QList<KMime::Message*> List;
00042 
00044     Message();
00045     ~Message();
00046 
00047     //content handling
00048     virtual void parse();
00049     virtual void clear();
00050 
00051     //header access
00052     virtual KMime::Headers::Base *getHeaderByType( const char *type );
00053     virtual void setHeader( KMime::Headers::Base *h );
00054     virtual bool removeHeader( const char *type );
00055 
00059     virtual KMime::Headers::MessageID *messageID( bool create = true );
00060     virtual KMime::Headers::Subject *subject( bool create = true );
00061     virtual KMime::Headers::Date *date( bool create = true );
00062     virtual KMime::Headers::From *from( bool create = true );
00063     virtual KMime::Headers::Organization *organization( bool create = true );
00064     virtual KMime::Headers::ReplyTo *replyTo( bool create = true );
00065     virtual KMime::Headers::To *to( bool create = true );
00066     virtual KMime::Headers::Cc *cc( bool create = true );
00067     virtual KMime::Headers::Bcc *bcc( bool create = true );
00068     virtual KMime::Headers::References *references( bool create = true );
00069     virtual KMime::Headers::UserAgent *userAgent( bool create = true );
00070     virtual KMime::Headers::InReplyTo *inReplyTo( bool create = true );
00071     virtual KMime::Headers::Sender *sender( bool create = true );
00072 
00073     virtual bool isTopLevel() const;
00074 
00084     Content* mainBodyPart( const QByteArray &type = QByteArray() );
00085 
00086   protected:
00087     virtual QByteArray assembleHeaders();
00088 
00089     // @cond PRIVATE
00090     explicit Message( MessagePrivate *d );
00091     // @endcond
00092 
00093   private:
00094     Q_DECLARE_PRIVATE( Message )
00095 
00096 }; // class Message
00097 
00098 } // namespace KMime
00099 
00100 #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
  • kimap
  • kioslave
  •   imap4
  •   mbox
  • kldap
  • kmime
  • kpimidentities
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.5.7.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