You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/kioslaves/imap4/mailheader.h

191 lines
3.9 KiB

/***************************************************************************
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