summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.h1
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.h1
4 files changed, 2 insertions, 8 deletions
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
index 11ffd92..abe4bb6 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
@@ -1,34 +1,32 @@
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 MAILLIB::ATYPE MBOXwrapper::wrapperType=MAILLIB::MBOX;
10
11MBOXwrapper::MBOXwrapper(const QString & mbox_dir,const QString&mbox_name) 9MBOXwrapper::MBOXwrapper(const QString & mbox_dir,const QString&mbox_name)
12 : Genericwrapper(),MBOXPath(mbox_dir),MBOXName(mbox_name) 10 : Genericwrapper(),MBOXPath(mbox_dir),MBOXName(mbox_name)
13{ 11{
14 QDir dir(MBOXPath); 12 QDir dir(MBOXPath);
15 if (!dir.exists()) { 13 if (!dir.exists()) {
16 dir.mkdir(MBOXPath); 14 dir.mkdir(MBOXPath);
17 } 15 }
18} 16}
19 17
20MBOXwrapper::~MBOXwrapper() 18MBOXwrapper::~MBOXwrapper()
21{ 19{
22} 20}
23 21
24void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) 22void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
25{ 23{
26 mailstorage*storage = mailstorage_new(NULL); 24 mailstorage*storage = mailstorage_new(NULL);
27 QString p = MBOXPath+"/"; 25 QString p = MBOXPath+"/";
28 p+=mailbox; 26 p+=mailbox;
29 27
30 int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0); 28 int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0);
31 mailfolder*folder; 29 mailfolder*folder;
32 folder = mailfolder_new( storage,(char*)p.latin1(),NULL); 30 folder = mailfolder_new( storage,(char*)p.latin1(),NULL);
33 r = mailfolder_connect(folder); 31 r = mailfolder_connect(folder);
34 if (r != MAIL_NO_ERROR) { 32 if (r != MAIL_NO_ERROR) {
@@ -307,31 +305,31 @@ int MBOXwrapper::deleteMbox(const Folder*tfolder)
307void MBOXwrapper::statusFolder(folderStat&target_stat,const QString & mailbox) 305void MBOXwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
308{ 306{
309 mailfolder*folder = 0; 307 mailfolder*folder = 0;
310 mailstorage*storage = mailstorage_new(NULL); 308 mailstorage*storage = mailstorage_new(NULL);
311 target_stat.message_count = 0; 309 target_stat.message_count = 0;
312 target_stat.message_unseen = 0; 310 target_stat.message_unseen = 0;
313 target_stat.message_recent = 0; 311 target_stat.message_recent = 0;
314 QString p = MBOXPath+"/"+mailbox; 312 QString p = MBOXPath+"/"+mailbox;
315 QFile fi(p); 313 QFile fi(p);
316 if (!fi.exists()) { 314 if (!fi.exists()) {
317 Global::statusMessage(tr("Mailbox doesn't exist.")); 315 Global::statusMessage(tr("Mailbox doesn't exist."));
318 return; 316 return;
319 } 317 }
320 int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0); 318 int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0);
321 folder = mailfolder_new( storage,(char*)p.latin1(),NULL); 319 folder = mailfolder_new( storage,(char*)p.latin1(),NULL);
322 r = mailfolder_connect(folder); 320 r = mailfolder_connect(folder);
323 r = mailsession_status_folder(folder->fld_session,(char*)mailbox.latin1(),&target_stat.message_count, 321 r = mailsession_status_folder(folder->fld_session,(char*)mailbox.latin1(),&target_stat.message_count,
324 &target_stat.message_recent,&target_stat.message_unseen); 322 &target_stat.message_recent,&target_stat.message_unseen);
325 if (folder) mailfolder_free(folder); 323 if (folder) mailfolder_free(folder);
326 if (storage) mailstorage_free(storage); 324 if (storage) mailstorage_free(storage);
327} 325}
328 326
329MAILLIB::ATYPE MBOXwrapper::getType()const 327MAILLIB::ATYPE MBOXwrapper::getType()const
330{ 328{
331 return wrapperType; 329 return MAILLIB::A_MBOX;
332} 330}
333 331
334const QString&MBOXwrapper::getName()const 332const QString&MBOXwrapper::getName()const
335{ 333{
336 return MBOXName; 334 return MBOXName;
337} 335}
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.h b/noncore/net/mail/libmailwrapper/mboxwrapper.h
index a12a1dd..7e7f359 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.h
@@ -21,28 +21,27 @@ public:
21 virtual QList<Folder>* listFolders(); 21 virtual QList<Folder>* listFolders();
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 26
27 virtual int createMbox(const QString&folder,const Folder*f=0,const QString&d="",bool s=false); 27 virtual int createMbox(const QString&folder,const Folder*f=0,const QString&d="",bool s=false);
28 virtual int deleteMbox(const Folder*); 28 virtual int deleteMbox(const Folder*);
29 29
30 virtual void storeMessage(const char*msg,size_t length, const QString&folder); 30 virtual void storeMessage(const char*msg,size_t length, const QString&folder);
31 31
32 virtual RecBody fetchBody( const RecMail &mail ); 32 virtual RecBody fetchBody( const RecMail &mail );
33 static void mbox_progress( size_t current, size_t maximum ); 33 static void mbox_progress( size_t current, size_t maximum );
34 34
35 virtual encodedString* fetchRawBody(const RecMail&mail); 35 virtual encodedString* fetchRawBody(const RecMail&mail);
36 virtual void deleteMails(const QString & FolderName,QList<RecMail> &target); 36 virtual void deleteMails(const QString & FolderName,QList<RecMail> &target);
37 virtual int deleteAllMail(const Folder*); 37 virtual int deleteAllMail(const Folder*);
38 virtual MAILLIB::ATYPE getType()const; 38 virtual MAILLIB::ATYPE getType()const;
39 virtual const QString&getName()const; 39 virtual const QString&getName()const;
40 40
41protected: 41protected:
42 static void deleteMails(mailmbox_folder*f,QList<RecMail> &target); 42 static void deleteMails(mailmbox_folder*f,QList<RecMail> &target);
43 QString MBOXPath; 43 QString MBOXPath;
44 QString MBOXName; 44 QString MBOXName;
45 static const MAILLIB::ATYPE wrapperType;
46}; 45};
47 46
48#endif 47#endif
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
index 179bd34..560eab0 100644
--- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
@@ -1,36 +1,34 @@
1#include "mhwrapper.h" 1#include "mhwrapper.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 <qmessagebox.h> 6#include <qmessagebox.h>
7#include <stdlib.h> 7#include <stdlib.h>
8#include <qpe/global.h> 8#include <qpe/global.h>
9#include <opie2/oprocess.h> 9#include <opie2/oprocess.h>
10 10
11const MAILLIB::ATYPE MHwrapper::wrapperType=MAILLIB::A_MH;
12
13MHwrapper::MHwrapper(const QString & mbox_dir,const QString&mbox_name) 11MHwrapper::MHwrapper(const QString & mbox_dir,const QString&mbox_name)
14 : Genericwrapper(),MHPath(mbox_dir),MHName(mbox_name) 12 : Genericwrapper(),MHPath(mbox_dir),MHName(mbox_name)
15{ 13{
16 if (MHPath.length()>0) { 14 if (MHPath.length()>0) {
17 if (MHPath[MHPath.length()-1]=='/') { 15 if (MHPath[MHPath.length()-1]=='/') {
18 MHPath=MHPath.left(MHPath.length()-1); 16 MHPath=MHPath.left(MHPath.length()-1);
19 } 17 }
20 qDebug(MHPath); 18 qDebug(MHPath);
21 QDir dir(MHPath); 19 QDir dir(MHPath);
22 if (!dir.exists()) { 20 if (!dir.exists()) {
23 dir.mkdir(MHPath); 21 dir.mkdir(MHPath);
24 } 22 }
25 init_storage(); 23 init_storage();
26 } 24 }
27} 25}
28 26
29void MHwrapper::init_storage() 27void MHwrapper::init_storage()
30{ 28{
31 int r; 29 int r;
32 QString pre = MHPath; 30 QString pre = MHPath;
33 if (!m_storage) { 31 if (!m_storage) {
34 m_storage = mailstorage_new(NULL); 32 m_storage = mailstorage_new(NULL);
35 r = mh_mailstorage_init(m_storage,(char*)pre.latin1(),0,0,0); 33 r = mh_mailstorage_init(m_storage,(char*)pre.latin1(),0,0,0);
36 if (r != MAIL_NO_ERROR) { 34 if (r != MAIL_NO_ERROR) {
@@ -347,49 +345,49 @@ void MHwrapper::oprocessStderr(OProcess*, char *buffer, int )
347 QString lineStr = buffer; 345 QString lineStr = buffer;
348 QMessageBox::warning( 0, tr("Error"), lineStr ,tr("Ok") ); 346 QMessageBox::warning( 0, tr("Error"), lineStr ,tr("Ok") );
349 removeMboxfailed = true; 347 removeMboxfailed = true;
350} 348}
351 349
352void MHwrapper::statusFolder(folderStat&target_stat,const QString & mailbox) 350void MHwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
353{ 351{
354 init_storage(); 352 init_storage();
355 if (!m_storage) { 353 if (!m_storage) {
356 return; 354 return;
357 } 355 }
358 target_stat.message_count = 0; 356 target_stat.message_count = 0;
359 target_stat.message_unseen = 0; 357 target_stat.message_unseen = 0;
360 target_stat.message_recent = 0; 358 target_stat.message_recent = 0;
361 QString f = buildPath(mailbox); 359 QString f = buildPath(mailbox);
362 int r = mailsession_status_folder(m_storage->sto_session,(char*)f.latin1(),&target_stat.message_count, 360 int r = mailsession_status_folder(m_storage->sto_session,(char*)f.latin1(),&target_stat.message_count,
363 &target_stat.message_recent,&target_stat.message_unseen); 361 &target_stat.message_recent,&target_stat.message_unseen);
364 if (r != MAIL_NO_ERROR) { 362 if (r != MAIL_NO_ERROR) {
365 Global::statusMessage(tr("Error retrieving status")); 363 Global::statusMessage(tr("Error retrieving status"));
366 } 364 }
367} 365}
368 366
369MAILLIB::ATYPE MHwrapper::getType()const 367MAILLIB::ATYPE MHwrapper::getType()const
370{ 368{
371 return wrapperType; 369 return MAILLIB::A_MH;
372} 370}
373 371
374const QString&MHwrapper::getName()const 372const QString&MHwrapper::getName()const
375{ 373{
376 return MHName; 374 return MHName;
377} 375}
378void MHwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) 376void MHwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
379{ 377{
380 init_storage(); 378 init_storage();
381 if (!m_storage) { 379 if (!m_storage) {
382 return; 380 return;
383 } 381 }
384 if (targetWrapper != this) { 382 if (targetWrapper != this) {
385 qDebug("Using generic"); 383 qDebug("Using generic");
386 Genericwrapper::mvcpMail(mail,targetFolder,targetWrapper,moveit); 384 Genericwrapper::mvcpMail(mail,targetFolder,targetWrapper,moveit);
387 return; 385 return;
388 } 386 }
389 qDebug("Using internal routines for move/copy"); 387 qDebug("Using internal routines for move/copy");
390 QString tf = buildPath(targetFolder); 388 QString tf = buildPath(targetFolder);
391 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1()); 389 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1());
392 if (r != MAIL_NO_ERROR) { 390 if (r != MAIL_NO_ERROR) {
393 qDebug("Error selecting source mailbox"); 391 qDebug("Error selecting source mailbox");
394 return; 392 return;
395 } 393 }
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.h b/noncore/net/mail/libmailwrapper/mhwrapper.h
index c1ba78d..b7c23af 100644
--- a/noncore/net/mail/libmailwrapper/mhwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mhwrapper.h
@@ -29,33 +29,32 @@ public:
29 virtual void mvcpAllMails(Folder*fromFolder,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); 29 virtual void mvcpAllMails(Folder*fromFolder,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
30 30
31 virtual int createMbox(const QString&folder,const Folder*f=0,const QString&d="",bool s=false); 31 virtual int createMbox(const QString&folder,const Folder*f=0,const QString&d="",bool s=false);
32 virtual int deleteMbox(const Folder*); 32 virtual int deleteMbox(const Folder*);
33 33
34 virtual void storeMessage(const char*msg,size_t length, const QString&folder); 34 virtual void storeMessage(const char*msg,size_t length, const QString&folder);
35 35
36 virtual RecBody fetchBody( const RecMail &mail ); 36 virtual RecBody fetchBody( const RecMail &mail );
37 static void mbox_progress( size_t current, size_t maximum ); 37 static void mbox_progress( size_t current, size_t maximum );
38 38
39 virtual encodedString* fetchRawBody(const RecMail&mail); 39 virtual encodedString* fetchRawBody(const RecMail&mail);
40 virtual void deleteMails(const QString & FolderName,QList<RecMail> &target); 40 virtual void deleteMails(const QString & FolderName,QList<RecMail> &target);
41 virtual int deleteAllMail(const Folder*); 41 virtual int deleteAllMail(const Folder*);
42 virtual MAILLIB::ATYPE getType()const; 42 virtual MAILLIB::ATYPE getType()const;
43 virtual const QString&getName()const; 43 virtual const QString&getName()const;
44 44
45public slots: 45public slots:
46 /* for deleting maildirs we are using a system call */ 46 /* for deleting maildirs we are using a system call */
47 virtual void oprocessStderr(OProcess*, char *buffer, int ); 47 virtual void oprocessStderr(OProcess*, char *buffer, int );
48 virtual void processEnded(OProcess *); 48 virtual void processEnded(OProcess *);
49protected: 49protected:
50 QString buildPath(const QString&p); 50 QString buildPath(const QString&p);
51 QString MHPath; 51 QString MHPath;
52 QString MHName; 52 QString MHName;
53 static const MAILLIB::ATYPE wrapperType;
54 53
55 void init_storage(); 54 void init_storage();
56 void clean_storage(); 55 void clean_storage();
57 56
58 bool removeMboxfailed; 57 bool removeMboxfailed;
59}; 58};
60 59
61#endif 60#endif