KIMAP Library
loginjob.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KIMAP_LOGINJOB_H
00022 #define KIMAP_LOGINJOB_H
00023
00024 #include "kimap_export.h"
00025
00026 #include "job.h"
00027
00028 namespace KIMAP {
00029
00030 class Session;
00031 struct Message;
00032 class LoginJobPrivate;
00033
00034 class KIMAP_EXPORT LoginJob : public Job
00035 {
00036 Q_OBJECT
00037 Q_DECLARE_PRIVATE(LoginJob)
00038
00039 friend class SessionPrivate;
00040
00041 public:
00042 enum EncryptionMode {
00043 Unencrypted = 0,
00044 TlsV1,
00045 SslV2,
00046 SslV3,
00047 SslV3_1,
00048 AnySslVersion
00049 };
00050
00051 enum AuthenticationMode {
00052 ClearText = 0,
00053 Login,
00054 Plain,
00055 CramMD5,
00056 DigestMD5,
00057 NTLM,
00058 GSSAPI,
00059 Anonymous
00060 };
00061
00062 explicit LoginJob( Session *session );
00063 virtual ~LoginJob();
00064
00065 QString userName() const;
00066 void setUserName( const QString &userName );
00067
00068 QString password() const;
00069 void setPassword( const QString &password );
00070
00077 void setEncryptionMode(EncryptionMode mode);
00078
00083 EncryptionMode encryptionMode();
00084
00085 void setAuthenticationMode(AuthenticationMode mode);
00086
00087 protected:
00088 virtual void doStart();
00089 virtual void handleResponse( const Message &response );
00090 virtual void connectionLost();
00091
00092 private:
00093 Q_PRIVATE_SLOT( d_func(), void sslResponse(bool) )
00094 };
00095
00096 }
00097
00098 #endif