kmail Library API Documentation

kmmsginfo.h

00001 /* Message info describing a messages in a folder
00002  *
00003  * Author: Stefan Taferner <taferner@alpin.or.at>
00004  */
00005 #ifndef kmmsginfo_h
00006 #define kmmsginfo_h
00007 
00008 #include <config.h>
00009 #include <sys/types.h>
00010 #include "kmmsgbase.h"
00011 
00012 class KMMessage;
00013 
00014 class KMMsgInfo: public KMMsgBase
00015 {
00016 public:
00017   KMMsgInfo(KMFolderIndex* parent, off_t off=0, short len=0);
00018   virtual ~KMMsgInfo();
00019 
00021   void compat_fromOldIndexString(const QCString& str, bool toUtf8);
00022 
00023 
00025   virtual void init(const QCString& subject, const QCString& from,
00026                     const QCString& to, time_t date,
00027             KMMsgStatus status, const QCString& xmark,
00028                     const QCString& replyToId,
00029                     const QCString& replyToAuxId,
00030                     const QCString& msgId,
00031             KMMsgEncryptionState encryptionState,
00032             KMMsgSignatureState signatureState,
00033             KMMsgMDNSentState mdnSentState,
00034             off_t folderOffset=0, size_t msgSize=0);
00035 
00037   virtual void init(const QCString& subject, const QCString& from,
00038                     const QCString& to, time_t date,
00039             KMMsgStatus status, const QCString& xmark,
00040                     const QCString& replyToId,
00041                     const QCString& replyToAuxId,
00042                     const QCString& msgId,
00043             const QCString& fileName,
00044             KMMsgEncryptionState encryptionState,
00045             KMMsgSignatureState signatureState,
00046             KMMsgMDNSentState mdnSentState,
00047             unsigned long msgSize=0);
00048 
00050   virtual QString subject(void) const;
00051   virtual QString fromStrip(void) const;
00052   virtual QString toStrip(void) const;
00053   virtual QString xmark(void) const;
00054   virtual QString replyToIdMD5(void) const;
00055   virtual QString replyToAuxIdMD5() const;
00056   virtual QString strippedSubjectMD5() const;
00057   virtual bool subjectIsPrefixed() const;
00058   virtual QString msgIdMD5(void) const;
00059   virtual QString fileName(void) const;
00060   virtual KMMsgStatus status(void) const;
00061   virtual KMMsgEncryptionState encryptionState() const;
00062   virtual KMMsgSignatureState signatureState() const;
00063   virtual KMMsgMDNSentState mdnSentState() const;
00064   virtual off_t folderOffset(void) const;
00065   virtual size_t msgSize(void) const;
00066   virtual time_t date(void) const;
00067   void setMsgSize(size_t sz);
00068   void setFolderOffset(off_t offs);
00069   void setFileName(const QString& file);
00070   virtual void setStatus(const KMMsgStatus status, int idx = -1);
00071   virtual void setDate(time_t aUnixTime);
00072   virtual void setSubject(const QString&);
00073   virtual void setXMark(const QString&);
00074   virtual void setReplyToIdMD5(const QString&);
00075   virtual void setReplyToAuxIdMD5( const QString& );
00076   virtual void initStrippedSubjectMD5();
00077   virtual void setMsgIdMD5(const QString&);
00078   virtual void setEncryptionState( const KMMsgEncryptionState, int idx = -1 );
00079   virtual void setSignatureState( const KMMsgSignatureState, int idx = -1 );
00080   virtual void setMDNSentState( const KMMsgMDNSentState, int idx = -1 );
00081 
00083   virtual void setStatus(const char* s1, const char* s2=0) { KMMsgBase::setStatus(s1, s2); }
00084   virtual void setDate(const char* s1) { KMMsgBase::setDate(s1); }
00085 
00086   virtual bool dirty(void) const;
00087 
00089   KMMsgInfo& operator=(const KMMessage&);
00090   KMMsgInfo& operator=(const KMMsgInfo&);
00091 
00092 
00093 private:
00094   // WARNING: Do not add new member variables to the class. Add them to kd
00095   class KMMsgInfoPrivate;
00096   KMMsgInfoPrivate *kd;
00097 };
00098 
00099 typedef KMMsgInfo* KMMsgInfoPtr;
00100 
00101 #endif /*kmmsginfo_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 11:37:33 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003