summaryrefslogtreecommitdiffstats
path: root/kioslaves/imap4/mailheader.h
diff options
context:
space:
mode:
Diffstat (limited to 'kioslaves/imap4/mailheader.h')
-rw-r--r--kioslaves/imap4/mailheader.h190
1 files changed, 190 insertions, 0 deletions
diff --git a/kioslaves/imap4/mailheader.h b/kioslaves/imap4/mailheader.h
new file mode 100644
index 000000000..0586b3a0c
--- /dev/null
+++ b/kioslaves/imap4/mailheader.h
@@ -0,0 +1,190 @@
+/***************************************************************************
+ mailheader.h - description
+ -------------------
+ begin : Tue Oct 24 2000
+ copyright : (C) 2000 by Sven Carstens
+ email : s.carstens@gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef MAILHEADER_H
+#define MAILHEADER_H
+
+#include "mimeheader.h"
+#include "mailaddress.h"
+#include "mimeio.h"
+#include "rfcdecoder.h"
+
+/**
+ *@author Sven Carstens
+ */
+
+class mailHeader:public mimeHeader
+{
+public:
+ mailHeader ();
+ ~mailHeader ();
+
+ virtual void addHdrLine (mimeHdrLine *);
+ virtual void outputHeader (mimeIO &);
+
+ void addTo (const mailAddress & _adr)
+ {
+ toAdr.append (new mailAddress (_adr));
+ }
+ void addCC (const mailAddress & _adr)
+ {
+ ccAdr.append (new mailAddress (_adr));
+ }
+ void addBCC (const mailAddress & _adr)
+ {
+ bccAdr.append (new mailAddress (_adr));
+ }
+
+ void setFrom (const mailAddress & _adr)
+ {
+ fromAdr = _adr;
+ }
+ void setSender (const mailAddress & _adr)
+ {
+ senderAdr = _adr;
+ }
+ void setReturnPath (const mailAddress & _adr)
+ {
+ returnpathAdr = _adr;
+ }
+ void setReplyTo (const mailAddress & _adr)
+ {
+ replytoAdr = _adr;
+ }
+
+ const QCString& getMessageId ()
+ {
+ return messageID;
+ }
+ void setMessageId (const QCString & _str)
+ {
+ messageID = _str;
+ }
+
+ const QCString& getInReplyTo ()
+ {
+ return inReplyTo;
+ }
+ void setInReplyTo (const QCString & _str)
+ {
+ inReplyTo = _str;
+ }
+
+ const QCString& getReferences ()
+ {
+ return references;
+ }
+ void setReferences (const QCString & _str)
+ {
+ references = _str;
+ }
+
+ /**
+ * set a unicode subject
+ */
+ void setSubject (const QString & _str)
+ {
+ _subject = rfcDecoder::encodeRFC2047String(_str).latin1();
+ }
+ /**
+ * set a encoded subject
+ */
+ void setSubjectEncoded (const QCString & _str)
+ {
+ _subject = _str.simplifyWhiteSpace();
+ }
+
+ /**
+ * get the unicode subject
+ */
+ const QString getSubject ()
+ {
+ return rfcDecoder::decodeRFC2047String(_subject);
+ }
+ /**
+ * get the encoded subject
+ */
+ const QCString& getSubjectEncoded ()
+ {
+ return _subject;
+ }
+
+ /**
+ * set the date
+ */
+ void setDate (const QCString & _str)
+ {
+ mDate = _str;
+ }
+
+ /**
+ * get the date
+ */
+ const QCString& date ()
+ {
+ return mDate;
+ }
+
+ static int parseAddressList (const char *, QPtrList < mailAddress > *);
+ static QCString getAddressStr (QPtrList < mailAddress > *);
+ QPtrList < mailAddress > &to ()
+ {
+ return toAdr;
+ }
+ QPtrList < mailAddress > &cc ()
+ {
+ return ccAdr;
+ }
+ QPtrList < mailAddress > &bcc ()
+ {
+ return bccAdr;
+ }
+#ifdef KMAIL_COMPATIBLE
+ QString subject ()
+ {
+ return getSubject ();
+ }
+ const mailAddress & from ()
+ {
+ return fromAdr;
+ }
+ const mailAddress & replyTo ()
+ {
+ return replytoAdr;
+ }
+ void readConfig (void)
+ {;
+ }
+#endif
+
+private:
+ QPtrList < mailAddress > toAdr;
+ QPtrList < mailAddress > ccAdr;
+ QPtrList < mailAddress > bccAdr;
+ mailAddress fromAdr;
+ mailAddress senderAdr;
+ mailAddress returnpathAdr;
+ mailAddress replytoAdr;
+ QCString _subject;
+ QCString mDate;
+ int gmt_offset;
+ QCString messageID;
+ QCString inReplyTo;
+ QCString references;
+};
+
+#endif