summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper
authoralwin <alwin>2003-12-13 21:03:45 (UTC)
committer alwin <alwin>2003-12-13 21:03:45 (UTC)
commitc0e86973b0cd2d01163ccf60340c8d295aa645f4 (patch) (side-by-side diff)
tree4ccb0f7b8071711bf7ebc5320ea5c2f6974d6fb4 /noncore/net/mail/libmailwrapper
parent85444223acfafd9d7955032b2cbdad3279ba27ad (diff)
downloadopie-c0e86973b0cd2d01163ccf60340c8d295aa645f4.zip
opie-c0e86973b0cd2d01163ccf60340c8d295aa645f4.tar.gz
opie-c0e86973b0cd2d01163ccf60340c8d295aa645f4.tar.bz2
the RecMail class get on creation a mailwrapper assigened
Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp1
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.cpp17
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.h7
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp1
4 files changed, 25 insertions, 1 deletions
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index e5eb335..3222c7e 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -128,12 +128,13 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target )
++i;
msg_att = (mailimap_msg_att*)current->data;
RecMail*m = parse_list_result(msg_att);
if (m) {
m->setNumber(i);
m->setMbox(mailbox);
+ m->setWrapper(this);
target.append(m);
}
}
} else {
qDebug("Error fetching headers: %s",m_imap->imap_response);
}
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.cpp b/noncore/net/mail/libmailwrapper/mailtypes.cpp
index 5cd45ed..94f5d6f 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.cpp
+++ b/noncore/net/mail/libmailwrapper/mailtypes.cpp
@@ -12,12 +12,17 @@ RecMail::RecMail(const RecMail&old)
{
init();
copy_old(old);
qDebug("Copy constructor RecMail");
}
+RecMail::~RecMail()
+{
+ wrapper = 0;
+}
+
void RecMail::copy_old(const RecMail&old)
{
subject = old.subject;
date = old.date;
mbox = old.mbox;
msg_id = old.msg_id;
@@ -25,19 +30,31 @@ void RecMail::copy_old(const RecMail&old)
msg_number = old.msg_number;
from = old.from;
msg_flags = old.msg_flags;
to = old.to;
cc = old.cc;
bcc = old.bcc;
+ wrapper = old.wrapper;
}
void RecMail::init()
{
to.clear();
cc.clear();
bcc.clear();
+ wrapper = 0;
+}
+
+void RecMail::setWrapper(AbstractMail*awrapper)
+{
+ wrapper = awrapper;
+}
+
+AbstractMail* RecMail::Wrapper()
+{
+ return wrapper;
}
void RecMail::setTo(const QStringList&list)
{
to = list;
}
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.h b/noncore/net/mail/libmailwrapper/mailtypes.h
index 24518cf..9ef762d 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.h
+++ b/noncore/net/mail/libmailwrapper/mailtypes.h
@@ -12,12 +12,13 @@
#include <qbitarray.h>
#include <qstring.h>
#include <qstringlist.h>
#include <qmap.h>
#include <qvaluelist.h>
+class AbstractMail;
/* a class to describe mails in a mailbox */
/* Attention!
From programmers point of view it would make sense to
store the mail body into this class, too.
But: not from the point of view of the device.
Mailbodies can be real large. So we request them when
@@ -29,13 +30,13 @@
*/
class RecMail
{
public:
RecMail();
RecMail(const RecMail&old);
- virtual ~RecMail(){}
+ virtual ~RecMail();
const int getNumber()const{return msg_number;}
void setNumber(int number){msg_number=number;}
const QString&getDate()const{ return date; }
void setDate( const QString&a ) { date = a; }
const QString&getFrom()const{ return from; }
@@ -57,18 +58,22 @@ public:
void setCC(const QStringList&list);
const QStringList&CC()const;
void setBcc(const QStringList&list);
const QStringList&Bcc()const;
const QBitArray&getFlags()const{return msg_flags;}
void setFlags(const QBitArray&flags){msg_flags = flags;}
+
+ void setWrapper(AbstractMail*wrapper);
+ AbstractMail* Wrapper();
protected:
QString subject,date,from,mbox,msg_id,replyto;
int msg_number,msg_size;
QBitArray msg_flags;
QStringList to,cc,bcc;
+ AbstractMail*wrapper;
void init();
void copy_old(const RecMail&old);
};
typedef QMap<QString,QString> part_plist_t;
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
index 49c3b7a..903ef4d 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
@@ -78,12 +78,13 @@ void POP3wrapper::listMessages(const QString &, QList<RecMail> &target )
qDebug( "POP3: error retrieving header msgid: %i", info->msg_index );
logout();
return;
}
RecMail *mail = parseHeader( header );
mail->setNumber( info->msg_index );
+ mail->setWrapper(this);
target.append( mail );
}
logout();
}