diff options
Diffstat (limited to 'kioslaves/imap4/mailheader.cc')
-rw-r--r-- | kioslaves/imap4/mailheader.cc | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/kioslaves/imap4/mailheader.cc b/kioslaves/imap4/mailheader.cc deleted file mode 100644 index c520b9094..000000000 --- a/kioslaves/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; -} |