summaryrefslogtreecommitdiffabout
path: root/kmicromail/libmailwrapper/abstractmail.h
Unidiff
Diffstat (limited to 'kmicromail/libmailwrapper/abstractmail.h') (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/libmailwrapper/abstractmail.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/kmicromail/libmailwrapper/abstractmail.h b/kmicromail/libmailwrapper/abstractmail.h
index cae83f4..2069ca1 100644
--- a/kmicromail/libmailwrapper/abstractmail.h
+++ b/kmicromail/libmailwrapper/abstractmail.h
@@ -1,76 +1,81 @@
1// CHANGED 2004-09-31 Lutz Rogowski 1// CHANGED 2004-09-31 Lutz Rogowski
2#ifndef __abstract_mail_ 2#ifndef __abstract_mail_
3#define __abstract_mail_ 3#define __abstract_mail_
4 4
5#include "maildefines.h" 5#include "maildefines.h"
6 6
7#include "settings.h" 7#include "settings.h"
8 8
9#include <qobject.h> 9#include <qobject.h>
10#include <opie2/osmartpointer.h> 10#include <opie2/osmartpointer.h>
11#include "mailtypes.h" 11#include "mailtypes.h"
12 12
13
14#include "mailwrapper.h"
15
13class IMAPwrapper; 16class IMAPwrapper;
14class POP3wrapper; 17class POP3wrapper;
15class Folder; 18class Folder;
16class encodedString; 19class encodedString;
17struct folderStat; 20struct folderStat;
18 21
19class AbstractMail:public QObject 22class AbstractMail:public QObject
20{ 23{
21 Q_OBJECT 24 Q_OBJECT
22public: 25public:
23 AbstractMail(){}; 26 AbstractMail(){};
24 virtual ~AbstractMail(){} 27 virtual ~AbstractMail(){}
25 virtual QValueList<Opie::Core::OSmartPointer<Folder> >* listFolders()=0; 28 virtual QValueList<Opie::Core::OSmartPointer<Folder> >* listFolders()=0;
26 virtual void listMessages(const QString & mailbox,QValueList<RecMailP>&target, int sizeInKb = 0 )=0; 29 virtual void listMessages(const QString & mailbox,QValueList<RecMailP>&target, int sizeInKb = 0 )=0;
27 virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0; 30 virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0;
28 virtual RecBodyP fetchBody(const RecMailP&mail)=0; 31 virtual RecBodyP fetchBody(const RecMailP&mail)=0;
29 virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part)=0; 32 virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part)=0;
30 virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part)=0; 33 virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part)=0;
31 virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part)=0; 34 virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part)=0;
32 virtual encodedString* fetchRawBody(const RecMailP&mail)=0; 35 virtual encodedString* fetchRawBody(const RecMailP&mail)=0;
33 36
34 virtual void deleteMail(const RecMailP&mail)=0; 37 virtual void deleteMail(const RecMailP&mail)=0;
35 virtual void deleteMailList(const QValueList<RecMailP>&target); 38 virtual void deleteMailList(const QValueList<RecMailP>&target);
36 virtual void answeredMail(const RecMailP&mail)=0; 39 virtual void answeredMail(const RecMailP&mail)=0;
37 virtual int deleteAllMail(const Opie::Core::OSmartPointer<Folder>&)=0; 40 virtual int deleteAllMail(const Opie::Core::OSmartPointer<Folder>&)=0;
38 virtual void deleteMails(const QString & FolderName,const QValueList<Opie::Core::OSmartPointer<RecMail> >&target); 41 virtual void deleteMails(const QString & FolderName,const QValueList<Opie::Core::OSmartPointer<RecMail> >&target);
39 virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&)=0; 42 virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&)=0;
40 virtual void storeMessage(const char*msg,size_t length, const QString&folder)=0; 43 virtual void storeMessage(const char*msg,size_t length, const QString&folder)=0;
41 44 void downloadNewMails(const FolderP&fromFolder,AbstractMail*targetWrapper );
42 virtual void mvcpAllMails(const Opie::Core::OSmartPointer<Folder>&fromFolder, 45 virtual void mvcpAllMails(const Opie::Core::OSmartPointer<Folder>&fromFolder,
43 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int sizeInKb = 0); 46 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int sizeInKb = 0);
44 virtual void mvcpMailList(const QValueList<RecMailP>& t, 47 virtual void mvcpMailList(const QValueList<RecMailP>& t,
45 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); 48 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
46 virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); 49 virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
47 50
48 virtual void cleanMimeCache(){}; 51 virtual void cleanMimeCache(){};
49 /* mail box methods */ 52 /* mail box methods */
50 /* parameter is the box to create. 53 /* parameter is the box to create.
51 * if the implementing subclass has prefixes, 54 * if the implementing subclass has prefixes,
52 * them has to be appended automatic. 55 * them has to be appended automatic.
53 */ 56 */
54 virtual int createMbox(const QString&,const Opie::Core::OSmartPointer<Folder>&parentfolder=0, 57 virtual int createMbox(const QString&,const Opie::Core::OSmartPointer<Folder>&parentfolder=0,
55 const QString& delemiter="/",bool getsubfolder=false); 58 const QString& delemiter="/",bool getsubfolder=false);
56 virtual void logout()=0; 59 virtual void logout()=0;
57 60
61 virtual Account* getAccount() = 0;
62
58 static AbstractMail* getWrapper(IMAPaccount *a); 63 static AbstractMail* getWrapper(IMAPaccount *a);
59 static AbstractMail* getWrapper(POP3account *a); 64 static AbstractMail* getWrapper(POP3account *a);
60 static AbstractMail* getWrapper(NNTPaccount *a); 65 static AbstractMail* getWrapper(NNTPaccount *a);
61 /* mbox only! */ 66 /* mbox only! */
62 static AbstractMail* getWrapper(const QString&a,const QString&name="Local Folders"); 67 static AbstractMail* getWrapper(const QString&a,const QString&name="Local Folders");
63 static AbstractMail* getWrapper(Account*a); 68 static AbstractMail* getWrapper(Account*a);
64 69
65 static QString defaultLocalfolder(); 70 static QString defaultLocalfolder();
66 static QString draftFolder(); 71 static QString draftFolder();
67 72
68 virtual MAILLIB::ATYPE getType()const=0; 73 virtual MAILLIB::ATYPE getType()const=0;
69 virtual const QString&getName()const=0; 74 virtual const QString&getName()const=0;
70 75
71protected: 76protected:
72 static encodedString*decode_String(const encodedString*text,const QString&enc); 77 static encodedString*decode_String(const encodedString*text,const QString&enc);
73 static QString convert_String(const char*text); 78 static QString convert_String(const char*text);
74 static QString gen_attachment_id(); 79 static QString gen_attachment_id();
75}; 80};
76#endif 81#endif