summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/mboxwrapper.h
blob: f8229975cf6639fc3f244c77cce62664993d0d62 (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
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef __MBOX_WRAPPER_H
#define __MBOX_WRAPPER_H

#include "genericwrapper.h"
#include <qstring.h>

class RecMail;
class RecBody;
struct mailmbox_folder;

class MBOXwrapper : public Genericwrapper
{
    Q_OBJECT
public:
    MBOXwrapper(const QString & dir);
    virtual ~MBOXwrapper();
    
    virtual void listMessages(const QString & mailbox, QList<RecMail> &target );
    virtual QList<Folder>* listFolders();
    virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX");

    virtual void deleteMail(const RecMail&mail);
    virtual void answeredMail(const RecMail&mail);
    
    virtual int createMbox(const QString&folder,const Folder*f=0,const QString&d="",bool s=false);
    virtual int deleteMbox(const Folder*);

    virtual void storeMessage(const char*msg,size_t length, const QString&folder);

    virtual RecBody fetchBody( const RecMail &mail );
    static void mbox_progress( size_t current, size_t maximum );

    virtual void fetchRawBody(const RecMail&mail,char**target,size_t*length);
    virtual void deleteMails(const QString & mailbox,QList<RecMail> &target);
    virtual int deleteAllMail(const Folder*);

protected:
    static void deleteMails(mailmbox_folder*f,QList<RecMail> &target);
    QString MBOXPath;
};

#endif