summaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/net/client.cpp3
-rw-r--r--src/server/net/client.h15
2 files changed, 4 insertions, 14 deletions
diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp
index ef131fc..3ee096e 100644
--- a/src/server/net/client.cpp
+++ b/src/server/net/client.cpp
@@ -313,7 +313,8 @@ void Client::stopVncClient()
/******************************************************************************/
void Client::lockScreen(bool lock)
{
- if (!_isTutor){
+ if (!_isTutor && _locked != lock){
+ _locked = lock;
NetworkMessage msg;
msg.setField(_ID, _LOCK);
msg.setField(_ENABLE, lock ? __TRUE : __FALSE);
diff --git a/src/server/net/client.h b/src/server/net/client.h
index 14e0f0e..6788284 100644
--- a/src/server/net/client.h
+++ b/src/server/net/client.h
@@ -23,22 +23,11 @@ class Client : public QObject
{
Q_OBJECT
-public:
-
- enum class State
- {
- Authenticating,
- Idle,
- VncClient,
- VncServer,
- Locked
- };
-
+public:
explicit Client(QSslSocket* socket);
~Client();
// Getters
- inline const State state() const { return _state; }
inline const bool isAuthed() const { return _authed == 2; }
inline const QString& name() const { return _name; }
inline const QString& host() const { return _host; }
@@ -64,7 +53,7 @@ public:
private:
QSslSocket * const _socket;
- State _state;
+ bool _locked;
int _authed; // 0 = challenge sent, awaiting reply 1 = challenge ok, client challenge replied, awaiting login, 2 = ESTABLISHED
QString _name;
QString _host;