Diffstat (limited to 'noncore/unsupported/mail2/libmail/imapbase.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/mail2/libmail/imapbase.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/noncore/unsupported/mail2/libmail/imapbase.h b/noncore/unsupported/mail2/libmail/imapbase.h new file mode 100644 index 0000000..e4a0b97 --- a/dev/null +++ b/noncore/unsupported/mail2/libmail/imapbase.h @@ -0,0 +1,52 @@ +#ifndef IMAPBASE_H +#define IMAPBASE_H + +#include <qobject.h> + +#include "configfile.h" + +class QSocket; + +class IMAPBase : public QObject +{ + Q_OBJECT + +public: + IMAPBase(const Account &account); + + enum Error { IMAPErrConnectionRefused, IMAPErrHostNotFound, + IMAPErrSocketRead, IMAPErrUnknownError, + IMAPErrLoginFailed }; + + void sendCommand(const QString &command); + void disconnect(); + +signals: + void dataReceived(const QString &data); + void lookingUpHost(); + void hostFound(); + void connected(); + void disconnected(); + void error(int err); + +protected: + void makeConnect(); + +protected slots: + void writeCommands(); + void slotError(int error); + void slotHostFound(); + void slotConnected(); + void slotDisconnected(); + void slotDataAvailiable(); + +private: + Account _account; + QString _data; + QSocket *_socket; + QStringList _commandQueue; + bool _connected, _writingAllowed; + +}; + +#endif |