summaryrefslogtreecommitdiff
path: root/noncore/net/mail
Unidiff
Diffstat (limited to 'noncore/net/mail') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/genericwrapper.cpp13
-rw-r--r--noncore/net/mail/libmailwrapper/genericwrapper.h5
2 files changed, 4 insertions, 14 deletions
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp
index 5ec9415..703235d 100644
--- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp
@@ -1,23 +1,23 @@
1#include "genericwrapper.h" 1#include "genericwrapper.h"
2#include <libetpan/libetpan.h> 2#include <libetpan/libetpan.h>
3#include "mailtypes.h" 3#include "mailtypes.h"
4#include "mailstatics.h"
4 5
5#include <opie2/odebug.h> 6#include <opie2/odebug.h>
6#include <qpe/timestring.h>
7#include <qdatetime.h> 7#include <qdatetime.h>
8 8
9using namespace Opie::Core; 9using namespace Opie::Core;
10Genericwrapper::Genericwrapper() 10Genericwrapper::Genericwrapper()
11 : AbstractMail() 11 : AbstractMail(),MailStatics()
12{ 12{
13 bodyCache.clear(); 13 bodyCache.clear();
14 m_storage = 0; 14 m_storage = 0;
15 m_folder = 0; 15 m_folder = 0;
16} 16}
17 17
18Genericwrapper::~Genericwrapper() 18Genericwrapper::~Genericwrapper()
19{ 19{
20 if (m_folder) { 20 if (m_folder) {
21 mailfolder_free(m_folder); 21 mailfolder_free(m_folder);
22 } 22 }
23 if (m_storage) { 23 if (m_storage) {
@@ -234,33 +234,24 @@ RecBodyP Genericwrapper::parseMail( mailmessage * msg )
234 int err = MAILIMF_NO_ERROR; 234 int err = MAILIMF_NO_ERROR;
235 mailmime_single_fields fields; 235 mailmime_single_fields fields;
236 /* is bound to msg and will be freed there */ 236 /* is bound to msg and will be freed there */
237 mailmime * mime=0; 237 mailmime * mime=0;
238 RecBodyP body = new RecBody(); 238 RecBodyP body = new RecBody();
239 memset(&fields, 0, sizeof(struct mailmime_single_fields)); 239 memset(&fields, 0, sizeof(struct mailmime_single_fields));
240 err = mailmessage_get_bodystructure(msg,&mime); 240 err = mailmessage_get_bodystructure(msg,&mime);
241 QValueList<int>recList; 241 QValueList<int>recList;
242 traverseBody(body,msg,mime,recList); 242 traverseBody(body,msg,mime,recList);
243 return body; 243 return body;
244} 244}
245 245
246QString Genericwrapper::parseDateTime( mailimf_date_time *date )
247{
248 QDateTime da(QDate(date->dt_year,date->dt_month,date->dt_day),QTime(date->dt_hour,date->dt_min,date->dt_sec));
249 QString timestring = TimeString::numberDateString(QDate(date->dt_year,date->dt_month,date->dt_day))+" ";
250 timestring+=TimeString::timeString(QTime(date->dt_hour,date->dt_min,date->dt_sec))+" ";
251 timestring.sprintf(timestring+" %+05i",date->dt_zone);
252 return timestring;
253}
254
255QString Genericwrapper::parseAddressList( mailimf_address_list *list ) 246QString Genericwrapper::parseAddressList( mailimf_address_list *list )
256{ 247{
257 QString result( "" ); 248 QString result( "" );
258 249
259 bool first = true; 250 bool first = true;
260 if (list == 0) return result; 251 if (list == 0) return result;
261 for ( clistiter *current = clist_begin( list->ad_list ); current != NULL; current = current->next ) { 252 for ( clistiter *current = clist_begin( list->ad_list ); current != NULL; current = current->next ) {
262 mailimf_address *addr = (mailimf_address *) current->data; 253 mailimf_address *addr = (mailimf_address *) current->data;
263 254
264 if ( !first ) { 255 if ( !first ) {
265 result.append( "," ); 256 result.append( "," );
266 } else { 257 } else {
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.h b/noncore/net/mail/libmailwrapper/genericwrapper.h
index 8be9212..3336556 100644
--- a/noncore/net/mail/libmailwrapper/genericwrapper.h
+++ b/noncore/net/mail/libmailwrapper/genericwrapper.h
@@ -1,63 +1,62 @@
1#ifndef __GENERIC_WRAPPER_H 1#ifndef __GENERIC_WRAPPER_H
2#define __GENERIC_WRAPPER_H 2#define __GENERIC_WRAPPER_H
3 3
4#include "abstractmail.h" 4#include "abstractmail.h"
5#include "mailstatics.h"
5#include <qmap.h> 6#include <qmap.h>
6#include <qstring.h> 7#include <qstring.h>
7#include <libetpan/clist.h> 8#include <libetpan/clist.h>
8 9
9class RecMail; 10class RecMail;
10class RecBody; 11class RecBody;
11class encodedString; 12class encodedString;
12struct mailpop3; 13struct mailpop3;
13struct mailmessage; 14struct mailmessage;
14struct mailmime; 15struct mailmime;
15struct mailmime_mechanism; 16struct mailmime_mechanism;
16struct mailimf_mailbox_list; 17struct mailimf_mailbox_list;
17struct mailimf_mailbox; 18struct mailimf_mailbox;
18struct mailimf_date_time;
19struct mailimf_group; 19struct mailimf_group;
20struct mailimf_address_list; 20struct mailimf_address_list;
21struct mailsession; 21struct mailsession;
22struct mailstorage; 22struct mailstorage;
23struct mailfolder; 23struct mailfolder;
24struct mailimf_in_reply_to; 24struct mailimf_in_reply_to;
25 25
26/* this class hold just the funs shared between 26/* this class hold just the funs shared between
27 * mbox and pop3 (later mh, too) mail access. 27 * mbox and pop3 (later mh, too) mail access.
28 * it is not desigend to make a instance of it! 28 * it is not desigend to make a instance of it!
29 */ 29 */
30class Genericwrapper : public AbstractMail 30class Genericwrapper : public AbstractMail,public MailStatics
31{ 31{
32 Q_OBJECT 32 Q_OBJECT
33public: 33public:
34 Genericwrapper(); 34 Genericwrapper();
35 virtual ~Genericwrapper(); 35 virtual ~Genericwrapper();
36 36
37 virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part); 37 virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part);
38 virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part); 38 virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part);
39 virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part); 39 virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part);
40 virtual void cleanMimeCache(); 40 virtual void cleanMimeCache();
41 virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&){return 1;} 41 virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&){return 1;}
42 virtual void logout(){}; 42 virtual void logout(){};
43 virtual void storeMessage(const char*msg,size_t length, const QString&folder){}; 43 virtual void storeMessage(const char*msg,size_t length, const QString&folder){};
44 44
45protected: 45protected:
46 RecBodyP parseMail( mailmessage * msg ); 46 RecBodyP parseMail( mailmessage * msg );
47 QString parseMailboxList( mailimf_mailbox_list *list ); 47 QString parseMailboxList( mailimf_mailbox_list *list );
48 QString parseMailbox( mailimf_mailbox *box ); 48 QString parseMailbox( mailimf_mailbox *box );
49 QString parseGroup( mailimf_group *group ); 49 QString parseGroup( mailimf_group *group );
50 QString parseAddressList( mailimf_address_list *list ); 50 QString parseAddressList( mailimf_address_list *list );
51 QString parseDateTime( mailimf_date_time *date );
52 51
53 void traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1); 52 void traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1);
54 static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime); 53 static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime);
55 static void fillParameters(RecPartP&target,clist*parameters); 54 static void fillParameters(RecPartP&target,clist*parameters);
56 static QString getencoding(mailmime_mechanism*aEnc); 55 static QString getencoding(mailmime_mechanism*aEnc);
57 virtual void parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false); 56 virtual void parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false);
58 QStringList parseInreplies(mailimf_in_reply_to * in_replies); 57 QStringList parseInreplies(mailimf_in_reply_to * in_replies);
59 58
60 QString msgTempName; 59 QString msgTempName;
61 unsigned int last_msg_id; 60 unsigned int last_msg_id;
62 QMap<QString,encodedString*> bodyCache; 61 QMap<QString,encodedString*> bodyCache;
63 mailstorage * m_storage; 62 mailstorage * m_storage;