-
Notifications
You must be signed in to change notification settings - Fork 3
/
PMaildCore.hpp
43 lines (33 loc) · 1.1 KB
/
PMaildCore.hpp
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
43
#ifndef PMAILDCORE_HPP
#define PMAILDCORE_HPP
#include <QObject>
#include <QMap>
#include <QDir>
class QSettings;
class PMaildServer;
class PMaildDomain;
class PMaildUser;
class PMaildMail;
class PMaildCore: public QObject {
Q_OBJECT;
public:
PMaildCore(QSettings &settings);
void startDaemons();
virtual QByteArray getHostName();
bool authUser(QString login, QString password);
PMaildUser getUser(QString login);
QDir getSpoolPath();
QString genMailFileName();
QString code(int len, QString chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); // generate random string of length "int"
virtual PMaildDomain getDomain(QString domain) = 0;
virtual PMaildUser getUser(const PMaildDomain&, QString user) = 0;
virtual PMaildMail getEmailByUserId(const PMaildUser&user, int id) = 0;
virtual QList<PMaildMail> listEmailsByUserFolder(const PMaildUser&, int folder = 0) = 0;
virtual bool eraseMail(const PMaildMail&) = 0; // remove mail from db
QSettings &settings;
public slots:
void daemonLost(QObject*);
private:
QMap<QString,PMaildServer*> daemons;
};
#endif /* PMAILDCORE_HPP */