summaryrefslogtreecommitdiff
path: root/noncore/comm/keypebble/krfblogin.h
authorkergoth <kergoth>2002-01-25 22:14:26 (UTC)
committer kergoth <kergoth>2002-01-25 22:14:26 (UTC)
commit15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff)
treec2fa0399a2c47fda8e2cd0092c73a809d17f68eb /noncore/comm/keypebble/krfblogin.h
downloadopie-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.h62
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
+