author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /noncore/comm/keypebble/krfblogin.h | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
Diffstat (limited to 'noncore/comm/keypebble/krfblogin.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/comm/keypebble/krfblogin.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/noncore/comm/keypebble/krfblogin.h b/noncore/comm/keypebble/krfblogin.h new file mode 100644 index 0000000..5208210 --- a/dev/null +++ b/noncore/comm/keypebble/krfblogin.h @@ -0,0 +1,62 @@ +// -*- c++ -*- + +#ifndef KRFBLOGIN_H +#define KRFBLOGIN_H + +#include <qobject.h> + +class KRFBConnection; + +/** + * Handles logging into the RFB server. + * + * @version $Id$ + * @author Richard Moore, rich@kde.org + */ +class KRFBLogin : QObject +{ + Q_OBJECT + +public: + enum State { + AwaitingServerVersion, + AwaitingAuthScheme, + AwaitingChallenge, + WaitingForResponse, + Authenticated, + Ready, + Failed, + Error + }; + + KRFBLogin( KRFBConnection *con ); + ~KRFBLogin(); + + KRFBLogin::State state() const; + +protected: + void sendClientVersion(); + +protected slots: + void getPassword(); + void gotServerVersion(); + void gotAuthScheme(); + void gotChallenge(); + void gotAuthResult(); + void gotFailureReasonSize(); + +signals: + void passwordRequired( KRFBConnection * ); + void error( const QString & ); + void status( const QString & ); + +private: + KRFBConnection *con; + State currentState; + QCString versionString; + int serverMajor; + int serverMinor; +}; + +#endif // KRFBLOGIN_H + |