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