From 6f4fb557610beccb225a6bf3d46c0118b221bd99 Mon Sep 17 00:00:00 2001 From: sr Date: Tue, 5 Feb 2013 17:28:19 +0100 Subject: [SERVER] Implement all four VNC projection modes --- src/server/net/client.cpp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'src/server/net/client.cpp') diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp index ca91e76..e2ea933 100644 --- a/src/server/net/client.cpp +++ b/src/server/net/client.cpp @@ -20,7 +20,7 @@ ClientId Client::_clientIdCounter = 0; Client::Client(QSslSocket* socket) : _socket(socket), _authed(0), _desiredProjectionSource(0), _isProjectionSource(false), - _currentProjectionSource(0), _vncPort(0), _activeVncClient(false) + _currentProjectionSource(0), _vncPort(0), _activeVncClient(false), _isTutor(false) { assert(socket != NULL); _id = ++_clientIdCounter; @@ -197,7 +197,8 @@ void Client::handleMsg() return; } - if (_authed == 1) // Not authed yet, only care about login requests + // Not authed yet, only care about login requests + if (_authed == 1) { if (id == _LOGIN) { @@ -230,6 +231,7 @@ void Client::handleMsg() return; } + // Did not pass challenge yet if (_authed == 0) { // Waiting for challenge reply by client @@ -262,7 +264,7 @@ void Client::startVncServer() _vncPort = 0; _toClient.reset(); _toClient.setField(_ID, _VNCSERVER); - _toClient.setField("ENABLE", QByteArray("1")); + _toClient.setField(_ENABLE, __FALSE); sendMessage(_toClient); } @@ -270,10 +272,26 @@ void Client::stopVncServer() { _toClient.reset(); _toClient.setField(_ID, _VNCSERVER); - _toClient.setField("ENABLE", QByteArray("0")); + _toClient.setField(_ENABLE, __FALSE); sendMessage(_toClient); } +void Client::stopVncClient() +{ + _toClient.reset(); + _toClient.setField(_ID, _VNCCLIENT); + sendMessage(_toClient); +} + +void Client::setTutor(bool enable) +{ + _toClient.reset(); + _toClient.setField(_ID, _TUTOR); + _toClient.setField(_ENABLE, _BOOL(enable)); + sendMessage(_toClient); + _isTutor = enable; +} + void Client::disconnect() { if (_socket != NULL) -- cgit v1.2.3-55-g7522