00001
00002
00003
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(
KMFolder* 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 size_t msgSizeServer = 0, ulong UID = 0);
00036
00038
virtual void init(
const QCString& subject,
const QCString& from,
00039
const QCString& to, time_t date,
00040 KMMsgStatus status,
const QCString& xmark,
00041
const QCString& replyToId,
00042
const QCString& replyToAuxId,
00043
const QCString& msgId,
00044
const QCString& fileName,
00045 KMMsgEncryptionState encryptionState,
00046 KMMsgSignatureState signatureState,
00047 KMMsgMDNSentState mdnSentState,
00048 size_t msgSize=0,
00049 size_t msgSizeServer = 0, ulong UID = 0);
00050
00052
virtual QString subject(
void) const;
00053 virtual
QString fromStrip(
void) const;
00054 virtual
QString toStrip(
void) const;
00055 virtual
QString xmark(
void) const;
00056 virtual
QString replyToIdMD5(
void) const;
00057 virtual
QString replyToAuxIdMD5() const;
00058 virtual
QString strippedSubjectMD5() const;
00059 virtual
bool subjectIsPrefixed() const;
00060 virtual
QString msgIdMD5(
void) const;
00061 virtual
QString fileName(
void) const;
00062 virtual KMMsgStatus status(
void) const;
00063 virtual KMMsgEncryptionState encryptionState() const;
00064 virtual KMMsgSignatureState signatureState() const;
00065 virtual KMMsgMDNSentState mdnSentState() const;
00066 virtual off_t folderOffset(
void) const;
00067 virtual size_t msgSize(
void) const;
00068 virtual size_t msgSizeServer(
void) const;
00069 virtual time_t date(
void) const;
00070 virtual ulong UID(
void) const;
00071
void setMsgSize(size_t sz);
00072
void setMsgSizeServer(size_t sz);
00073
void setFolderOffset(off_t offs);
00074
void setFileName(const
QString& file);
00075 virtual
void setStatus(const KMMsgStatus status,
int idx = -1);
00076 virtual
void setDate(time_t aUnixTime);
00077 virtual
void setSubject(const
QString&);
00078 virtual
void setXMark(const QString&);
00079 virtual
void setReplyToIdMD5(const QString&);
00080 virtual
void setReplyToAuxIdMD5( const QString& );
00081 virtual
void initStrippedSubjectMD5();
00082 virtual
void setMsgIdMD5(const QString&);
00083 virtual
void setEncryptionState( const KMMsgEncryptionState,
int idx = -1 );
00084 virtual
void setSignatureState( const KMMsgSignatureState,
int idx = -1 );
00085 virtual
void setMDNSentState( const KMMsgMDNSentState,
int idx = -1 );
00086 virtual
void setUID(ulong);
00087
00089 virtual
void setStatus(const
char* s1, const
char* s2=0) { KMMsgBase::setStatus(s1, s2); }
00090
virtual void setDate(
const char* s1) { KMMsgBase::setDate(s1); }
00091
00092
virtual bool dirty(
void) const;
00093
00095 KMMsgInfo& operator=(const KMMessage&);
00096 KMMsgInfo& operator=(const KMMsgInfo&);
00097
00098
00099 private:
00100
00101 class KMMsgInfoPrivate;
00102 KMMsgInfoPrivate *kd;
00103 };
00104
00105 typedef KMMsgInfo* KMMsgInfoPtr;
00106
00107 #endif