summaryrefslogtreecommitdiffstats
path: root/tdeioslave/imap4/mailheader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tdeioslave/imap4/mailheader.cc')
-rw-r--r--tdeioslave/imap4/mailheader.cc203
1 files changed, 0 insertions, 203 deletions
diff --git a/tdeioslave/imap4/mailheader.cc b/tdeioslave/imap4/mailheader.cc
deleted file mode 100644
index c520b909..00000000
--- a/tdeioslave/imap4/mailheader.cc
+++ /dev/null
@@ -1,203 +0,0 @@
-/***************************************************************************
- mailheader.cc - 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. *
- * *
- ***************************************************************************/
-
-#include "mailheader.h"
-#include "rfcdecoder.h"
-
-mailHeader::mailHeader ()
-{
- toAdr.setAutoDelete (true);
- ccAdr.setAutoDelete (true);
- bccAdr.setAutoDelete (true);
- setType ("text/plain");
- gmt_offset = 0;
-}
-
-mailHeader::~mailHeader ()
-{
-}
-
-void
-mailHeader::addHdrLine (mimeHdrLine * inLine)
-{
- mimeHdrLine *addLine = new mimeHdrLine (inLine);
-
- const TQCString label(addLine->getLabel());
- TQCString value(addLine->getValue());
-
- if (!tqstricmp (label, "Return-Path")) {
- returnpathAdr.parseAddress (value.data ());
- goto out;
- }
- if (!tqstricmp (label, "Sender")) {
- senderAdr.parseAddress (value.data ());
- goto out;
- }
- if (!tqstricmp (label, "From")) {
- fromAdr.parseAddress (value.data ());
- goto out;
- }
- if (!tqstricmp (label, "Reply-To")) {
- replytoAdr.parseAddress (value.data ());
- goto out;
- }
- if (!tqstricmp (label, "To")) {
- mailHeader::parseAddressList (value, &toAdr);
- goto out;
- }
- if (!tqstricmp (label, "CC")) {
- mailHeader::parseAddressList (value, &ccAdr);
- goto out;
- }
- if (!tqstricmp (label, "BCC")) {
- mailHeader::parseAddressList (value, &bccAdr);
- goto out;
- }
- if (!tqstricmp (label, "Subject")) {
- _subject = value.simplifyWhiteSpace();
- goto out;
- }
- if (!tqstricmp (label.data (), "Date")) {
- mDate = value;
- goto out;
- }
- if (!tqstricmp (label.data (), "Message-ID")) {
- int start = value.findRev ('<');
- int end = value.findRev ('>');
- if (start < end)
- messageID = value.mid (start, end - start + 1);
- else {
- tqWarning("bad Message-ID");
- /* messageID = value; */
- }
- goto out;
- }
- if (!tqstricmp (label.data (), "In-Reply-To")) {
- int start = value.findRev ('<');
- int end = value.findRev ('>');
- if (start < end)
- inReplyTo = value.mid (start, end - start + 1);
- goto out;
- }
-
- // everything else is handled by mimeHeader
- mimeHeader::addHdrLine (inLine);
- delete addLine;
- return;
-
- out:
-// cout << label.data() << ": '" << value.data() << "'" << endl;
-
- //need only to add this line if not handled by mimeHeader
- originalHdrLines.append (addLine);
-}
-
-void
-mailHeader::outputHeader (mimeIO & useIO)
-{
- static const TQCString __returnPath("Return-Path: ", 14);
- static const TQCString __from ("From: ", 7);
- static const TQCString __sender ("Sender: ", 9);
- static const TQCString __replyTo ("Reply-To: ", 11);
- static const TQCString __to ("To: ", 5);
- static const TQCString __cc ("CC: ", 5);
- static const TQCString __bcc ("BCC: ", 6);
- static const TQCString __subject ("Subject: ", 10);
- static const TQCString __messageId ("Message-ID: ", 13);
- static const TQCString __inReplyTo ("In-Reply-To: ", 14);
- static const TQCString __references("References: ", 13);
- static const TQCString __date ("Date: ", 7);
-
- if (!returnpathAdr.isEmpty())
- useIO.outputMimeLine(__returnPath + returnpathAdr.getStr());
- if (!fromAdr.isEmpty())
- useIO.outputMimeLine(__from + fromAdr.getStr());
- if (!senderAdr.isEmpty())
- useIO.outputMimeLine(__sender + senderAdr.getStr());
- if (!replytoAdr.isEmpty())
- useIO.outputMimeLine(__replyTo + replytoAdr.getStr());
-
- if (toAdr.count())
- useIO.outputMimeLine(mimeHdrLine::truncateLine(__to +
- mailHeader::getAddressStr(&toAdr)));
- if (ccAdr.count())
- useIO.outputMimeLine(mimeHdrLine::truncateLine(__cc +
- mailHeader::getAddressStr(&ccAdr)));
- if (bccAdr.count())
- useIO.outputMimeLine(mimeHdrLine::truncateLine(__bcc +
- mailHeader::getAddressStr(&bccAdr)));
- if (!_subject.isEmpty())
- useIO.outputMimeLine(mimeHdrLine::truncateLine(__subject + _subject));
- if (!messageID.isEmpty())
- useIO.outputMimeLine(mimeHdrLine::truncateLine(__messageId + messageID));
- if (!inReplyTo.isEmpty())
- useIO.outputMimeLine(mimeHdrLine::truncateLine(__inReplyTo + inReplyTo));
- if (!references.isEmpty())
- useIO.outputMimeLine(mimeHdrLine::truncateLine(__references + references));
-
- if (!mDate.isEmpty())
- useIO.outputMimeLine(__date + mDate);
- mimeHeader::outputHeader(useIO);
-}
-
-int
-mailHeader::parseAddressList (const char *inCStr,
- TQPtrList < mailAddress > *aList)
-{
- int advance = 0;
- int skip = 1;
- char *aCStr = (char *) inCStr;
-
- if (!aCStr || !aList)
- return 0;
- while (skip > 0)
- {
- mailAddress *aAddress = new mailAddress;
- skip = aAddress->parseAddress (aCStr);
- if (skip)
- {
- aCStr += skip;
- if (skip < 0)
- advance -= skip;
- else
- advance += skip;
- aList->append (aAddress);
- }
- else
- {
- delete aAddress;
- break;
- }
- }
- return advance;
-}
-
-TQCString
-mailHeader::getAddressStr (TQPtrList < mailAddress > *aList)
-{
- TQCString retVal;
-
- TQPtrListIterator < mailAddress > it = TQPtrListIterator < mailAddress > (*aList);
- while (it.current ())
- {
- retVal += it.current ()->getStr ();
- ++it;
- if (it.current ())
- retVal += ", ";
- }
- return retVal;
-}