summaryrefslogtreecommitdiff
authoralwin <alwin>2004-01-05 02:03:01 (UTC)
committer alwin <alwin>2004-01-05 02:03:01 (UTC)
commit4fca3779614c863443ff09295fd0af19b9d9310e (patch) (unidiff)
tree666ba052b9dd440f9b2a8df8913a01571e32444c
parent2cf0c79cb325bff1c869febdd83429a5572b1e38 (diff)
downloadopie-4fca3779614c863443ff09295fd0af19b9d9310e.zip
opie-4fca3779614c863443ff09295fd0af19b9d9310e.tar.gz
opie-4fca3779614c863443ff09295fd0af19b9d9310e.tar.bz2
returns their type of connection (mbox,imap or pop3)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.h2
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp5
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.h1
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.cpp7
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.h2
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp5
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.h2
7 files changed, 23 insertions, 1 deletions
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.h b/noncore/net/mail/libmailwrapper/abstractmail.h
index a070fb0..7c060db 100644
--- a/noncore/net/mail/libmailwrapper/abstractmail.h
+++ b/noncore/net/mail/libmailwrapper/abstractmail.h
@@ -40,18 +40,20 @@ public:
40 * them has to be appended automatic. 40 * them has to be appended automatic.
41 */ 41 */
42 virtual int createMbox(const QString&,const Folder*parentfolder=0,const QString& delemiter="/",bool getsubfolder=false); 42 virtual int createMbox(const QString&,const Folder*parentfolder=0,const QString& delemiter="/",bool getsubfolder=false);
43 virtual void logout()=0; 43 virtual void logout()=0;
44 44
45 static AbstractMail* getWrapper(IMAPaccount *a); 45 static AbstractMail* getWrapper(IMAPaccount *a);
46 static AbstractMail* getWrapper(POP3account *a); 46 static AbstractMail* getWrapper(POP3account *a);
47 /* mbox only! */ 47 /* mbox only! */
48 static AbstractMail* getWrapper(const QString&a); 48 static AbstractMail* getWrapper(const QString&a);
49 49
50 static QString defaultLocalfolder(); 50 static QString defaultLocalfolder();
51 51
52 virtual const QString&getType()const=0;
53
52protected: 54protected:
53 static encodedString*decode_String(const encodedString*text,const QString&enc); 55 static encodedString*decode_String(const encodedString*text,const QString&enc);
54 static QString convert_String(const char*text); 56 static QString convert_String(const char*text);
55 static QString gen_attachment_id(); 57 static QString gen_attachment_id();
56}; 58};
57#endif 59#endif
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 0c1e05e..95b317a 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -976,12 +976,17 @@ void IMAPwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
976} 976}
977 977
978void IMAPwrapper::storeMessage(const char*msg,size_t length, const QString&folder) 978void IMAPwrapper::storeMessage(const char*msg,size_t length, const QString&folder)
979{ 979{
980 login(); 980 login();
981 if (!m_imap) return; 981 if (!m_imap) return;
982 if (!msg) return; 982 if (!msg) return;
983 int r = mailimap_append(m_imap,(char*)folder.latin1(),0,0,msg,length); 983 int r = mailimap_append(m_imap,(char*)folder.latin1(),0,0,msg,length);
984 if (r != MAILIMAP_NO_ERROR) { 984 if (r != MAILIMAP_NO_ERROR) {
985 Global::statusMessage("Error storing mail!"); 985 Global::statusMessage("Error storing mail!");
986 } 986 }
987} 987}
988
989const QString&IMAPwrapper::getType()const
990{
991 return account->getType();
992}
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.h b/noncore/net/mail/libmailwrapper/imapwrapper.h
index a97f12d..6a9c411 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.h
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.h
@@ -34,24 +34,25 @@ public:
34 34
35 virtual RecBody fetchBody(const RecMail&mail); 35 virtual RecBody fetchBody(const RecMail&mail);
36 virtual QString fetchTextPart(const RecMail&mail,const RecPart&part); 36 virtual QString fetchTextPart(const RecMail&mail,const RecPart&part);
37 virtual encodedString* fetchDecodedPart(const RecMail&mail,const RecPart&part); 37 virtual encodedString* fetchDecodedPart(const RecMail&mail,const RecPart&part);
38 virtual encodedString* fetchRawPart(const RecMail&mail,const RecPart&part); 38 virtual encodedString* fetchRawPart(const RecMail&mail,const RecPart&part);
39 39
40 virtual int createMbox(const QString&,const Folder*parentfolder=0,const QString& delemiter="/",bool getsubfolder=false); 40 virtual int createMbox(const QString&,const Folder*parentfolder=0,const QString& delemiter="/",bool getsubfolder=false);
41 virtual int deleteMbox(const Folder*folder); 41 virtual int deleteMbox(const Folder*folder);
42 42
43 static void imap_progress( size_t current, size_t maximum ); 43 static void imap_progress( size_t current, size_t maximum );
44 44
45 virtual void logout(); 45 virtual void logout();
46 virtual const QString&getType()const;
46protected: 47protected:
47 RecMail*parse_list_result(mailimap_msg_att*); 48 RecMail*parse_list_result(mailimap_msg_att*);
48 void login(); 49 void login();
49 50
50 virtual QString fetchTextPart(const RecMail&mail,const QValueList<int>&path,bool internal_call=false,const QString&enc=""); 51 virtual QString fetchTextPart(const RecMail&mail,const QValueList<int>&path,bool internal_call=false,const QString&enc="");
51 virtual encodedString*fetchRawPart(const RecMail&mail,const QValueList<int>&path,bool internal_call); 52 virtual encodedString*fetchRawPart(const RecMail&mail,const QValueList<int>&path,bool internal_call);
52 53
53 void fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description); 54 void fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description);
54 void fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which); 55 void fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which);
55 void fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which); 56 void fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which);
56 void fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which); 57 void fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which);
57 void fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which); 58 void fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which);
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
index 540a971..60f7507 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
@@ -1,20 +1,22 @@
1#include "mboxwrapper.h" 1#include "mboxwrapper.h"
2#include "mailtypes.h" 2#include "mailtypes.h"
3#include "mailwrapper.h" 3#include "mailwrapper.h"
4#include <libetpan/libetpan.h> 4#include <libetpan/libetpan.h>
5#include <qdir.h> 5#include <qdir.h>
6#include <stdlib.h> 6#include <stdlib.h>
7#include <qpe/global.h> 7#include <qpe/global.h>
8 8
9const QString MBOXwrapper::wrapperType="MBOX";
10
9MBOXwrapper::MBOXwrapper(const QString & mbox_dir) 11MBOXwrapper::MBOXwrapper(const QString & mbox_dir)
10 : Genericwrapper(),MBOXPath(mbox_dir) 12 : Genericwrapper(),MBOXPath(mbox_dir)
11{ 13{
12 QDir dir(MBOXPath); 14 QDir dir(MBOXPath);
13 if (!dir.exists()) { 15 if (!dir.exists()) {
14 dir.mkdir(MBOXPath); 16 dir.mkdir(MBOXPath);
15 } 17 }
16} 18}
17 19
18MBOXwrapper::~MBOXwrapper() 20MBOXwrapper::~MBOXwrapper()
19{ 21{
20} 22}
@@ -313,12 +315,17 @@ void MBOXwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
313 if (!fi.exists()) { 315 if (!fi.exists()) {
314 Global::statusMessage(tr("Mailbox doesn't exist.")); 316 Global::statusMessage(tr("Mailbox doesn't exist."));
315 return; 317 return;
316 } 318 }
317 int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0); 319 int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0);
318 folder = mailfolder_new( storage,(char*)p.latin1(),NULL); 320 folder = mailfolder_new( storage,(char*)p.latin1(),NULL);
319 r = mailfolder_connect(folder); 321 r = mailfolder_connect(folder);
320 r = mailsession_status_folder(folder->fld_session,(char*)mailbox.latin1(),&target_stat.message_count, 322 r = mailsession_status_folder(folder->fld_session,(char*)mailbox.latin1(),&target_stat.message_count,
321 &target_stat.message_recent,&target_stat.message_unseen); 323 &target_stat.message_recent,&target_stat.message_unseen);
322 if (folder) mailfolder_free(folder); 324 if (folder) mailfolder_free(folder);
323 if (storage) mailstorage_free(storage); 325 if (storage) mailstorage_free(storage);
324} 326}
327
328const QString&MBOXwrapper::getType()const
329{
330 return wrapperType;
331}
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.h b/noncore/net/mail/libmailwrapper/mboxwrapper.h
index f822997..f97fce2 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.h
@@ -24,19 +24,21 @@ public:
24 24
25 virtual int createMbox(const QString&folder,const Folder*f=0,const QString&d="",bool s=false); 25 virtual int createMbox(const QString&folder,const Folder*f=0,const QString&d="",bool s=false);
26 virtual int deleteMbox(const Folder*); 26 virtual int deleteMbox(const Folder*);
27 27
28 virtual void storeMessage(const char*msg,size_t length, const QString&folder); 28 virtual void storeMessage(const char*msg,size_t length, const QString&folder);
29 29
30 virtual RecBody fetchBody( const RecMail &mail ); 30 virtual RecBody fetchBody( const RecMail &mail );
31 static void mbox_progress( size_t current, size_t maximum ); 31 static void mbox_progress( size_t current, size_t maximum );
32 32
33 virtual void fetchRawBody(const RecMail&mail,char**target,size_t*length); 33 virtual void fetchRawBody(const RecMail&mail,char**target,size_t*length);
34 virtual void deleteMails(const QString & mailbox,QList<RecMail> &target); 34 virtual void deleteMails(const QString & mailbox,QList<RecMail> &target);
35 virtual int deleteAllMail(const Folder*); 35 virtual int deleteAllMail(const Folder*);
36 virtual const QString&getType()const;
36 37
37protected: 38protected:
38 static void deleteMails(mailmbox_folder*f,QList<RecMail> &target); 39 static void deleteMails(mailmbox_folder*f,QList<RecMail> &target);
39 QString MBOXPath; 40 QString MBOXPath;
41 static const QString wrapperType;
40}; 42};
41 43
42#endif 44#endif
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
index b4eca6f..45408dd 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
@@ -226,12 +226,17 @@ void POP3wrapper::statusFolder(folderStat&target_stat,const QString&)
226 if (!m_pop3) return; 226 if (!m_pop3) return;
227 int r = mailsession_status_folder(m_folder->fld_session,0,&target_stat.message_count, 227 int r = mailsession_status_folder(m_folder->fld_session,0,&target_stat.message_count,
228 &target_stat.message_recent,&target_stat.message_unseen); 228 &target_stat.message_recent,&target_stat.message_unseen);
229} 229}
230 230
231void POP3wrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length) 231void POP3wrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length)
232{ 232{
233 mailmessage * mailmsg = 0; 233 mailmessage * mailmsg = 0;
234 int err = mailsession_get_message(m_folder->fld_session, mail.getNumber(), &mailmsg); 234 int err = mailsession_get_message(m_folder->fld_session, mail.getNumber(), &mailmsg);
235 err = mailmessage_fetch(mailmsg,target,length); 235 err = mailmessage_fetch(mailmsg,target,length);
236 if (mailmsg) mailmessage_free(mailmsg); 236 if (mailmsg) mailmessage_free(mailmsg);
237} 237}
238
239const QString&POP3wrapper::getType()const
240{
241 return account->getType();
242}
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.h b/noncore/net/mail/libmailwrapper/pop3wrapper.h
index 9cba101..b7e8f27 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.h
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.h
@@ -19,23 +19,23 @@ public:
19 virtual void listMessages(const QString & mailbox, QList<RecMail> &target ); 19 virtual void listMessages(const QString & mailbox, QList<RecMail> &target );
20 virtual QList<Folder>* listFolders(); 20 virtual QList<Folder>* listFolders();
21 /* mailbox will be ignored */ 21 /* mailbox will be ignored */
22 virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX"); 22 virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX");
23 23
24 virtual void deleteMail(const RecMail&mail); 24 virtual void deleteMail(const RecMail&mail);
25 virtual void answeredMail(const RecMail&mail); 25 virtual void answeredMail(const RecMail&mail);
26 virtual int deleteAllMail(const Folder*); 26 virtual int deleteAllMail(const Folder*);
27 27
28 virtual RecBody fetchBody( const RecMail &mail ); 28 virtual RecBody fetchBody( const RecMail &mail );
29 virtual void fetchRawBody(const RecMail&mail,char**target,size_t*length); 29 virtual void fetchRawBody(const RecMail&mail,char**target,size_t*length);
30 virtual void logout(); 30 virtual void logout();
31 31 virtual const QString&getType()const;
32 static void pop3_progress( size_t current, size_t maximum ); 32 static void pop3_progress( size_t current, size_t maximum );
33 33
34protected: 34protected:
35 void login(); 35 void login();
36 POP3account *account; 36 POP3account *account;
37 mailstorage*m_pop3; 37 mailstorage*m_pop3;
38 mailfolder*m_folder; 38 mailfolder*m_folder;
39}; 39};
40 40
41#endif 41#endif