From 1f6493e319016f8c375b62f2109ee57f5cea828d Mon Sep 17 00:00:00 2001 From: Christian Klinger Date: Tue, 27 Sep 2016 15:38:39 +0200 Subject: Implemented 'majority vote' to determine the toolbar options. clients in exam-mode are also displayed differently. --- src/client/net/serverconnection.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/client/net/serverconnection.cpp') diff --git a/src/client/net/serverconnection.cpp b/src/client/net/serverconnection.cpp index 3ff16bf..418e13c 100644 --- a/src/client/net/serverconnection.cpp +++ b/src/client/net/serverconnection.cpp @@ -153,6 +153,9 @@ void ServerConnection::handleMsg() _toServer.setField(_ID, _LOGIN); _toServer.setField("HOST", QHostInfo::localHostName()); _toServer.setField("NAME", QString(user)); + qDebug() << "logging into manager, exam mode is " << clientApp->isExamMode(); + _toServer.setField(_EXAMMODE, clientApp->isExamMode() ? __TRUE : __FALSE); + /* TODO: (Question) Why is this here not using sendMessage() ? */ qDebug("Sending login request!"); if (_toServer.writeMessage(_socket)) { @@ -182,7 +185,11 @@ void ServerConnection::handleMsg() if (id == _THUMB) { if (clientApp->isExamMode()) { - qDebug() << "denied request for screenshot (exam mode)"; + /* but we still have to send a message, to reset the timeout timer of the server */ + QByteArray emptyArray; + _toServer.setField(_ID, _THUMB); + _toServer.setField(_IMG, emptyArray); + sendMessage(_toServer); return; } int x = _fromServer.getFieldString(_X).toInt(); @@ -240,6 +247,10 @@ void ServerConnection::handleMsg() } // message VNCSERVER - start local vncserver else if (id == _VNCSERVER) { + if (clientApp->isExamMode()) { + qDebug() << "denied request for vnc server (exam mode)"; + return; + } const bool enable = (_fromServer.getFieldString("ENABLE").toInt() != 0); if (enable) { @@ -253,6 +264,10 @@ void ServerConnection::handleMsg() } else if (id == _VNCCLIENT) { + if (clientApp->isExamMode()) { + qDebug() << "denied request for vnc projection (exam mode)"; + return; + } const QString host(_fromServer.getFieldString("HOST")); const int port = _fromServer.getFieldString("PORT").toInt(); if (host.isEmpty() || port <= 0) -- cgit v1.2.3-55-g7522