summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/abstractmail.h
blob: bc8938fd39a35d444fc80a459c6406a0ef38693d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef __abstract_mail_
#define __abstract_mail_

#include <qobject.h>
#include "settings.h"

class RecMail;
class RecBody;
class RecPart;
class IMAPwrapper;
class POP3wrapper;
class Folder;

class AbstractMail:public QObject
{
    Q_OBJECT
public:
    AbstractMail(){};
    virtual ~AbstractMail(){}
    virtual QList<Folder>* listFolders()=0;
    virtual void listMessages(const QString & mailbox,QList<RecMail>&target )=0;
    virtual RecBody fetchBody(const RecMail&mail)=0;
    virtual QString fetchPart(const RecMail&mail,const QValueList<int>&path,bool internal_call=false)=0;
    virtual QString fetchPart(const RecMail&mail,const RecPart&part)=0;
    
    static AbstractMail* getWrapper(IMAPaccount *a);
    static AbstractMail* getWrapper(POP3account *a);
};

#endif