summaryrefslogtreecommitdiffstats
path: root/src/server/net/client.cpp
diff options
context:
space:
mode:
authorBjörn Hagemeister2014-06-17 12:31:06 +0200
committerBjörn Hagemeister2014-06-17 12:31:06 +0200
commit1d771836abd9b0ef4bffbfe7f09a6f8ff2cc85db (patch)
tree71b569926f74c6dc2bcbbdab1cb35475f380f129 /src/server/net/client.cpp
parentRemoved _tutorFrame and _selectedFrame out of MainWindow to prevent possible ... (diff)
downloadpvs2-1d771836abd9b0ef4bffbfe7f09a6f8ff2cc85db.tar.gz
pvs2-1d771836abd9b0ef4bffbfe7f09a6f8ff2cc85db.tar.xz
pvs2-1d771836abd9b0ef4bffbfe7f09a6f8ff2cc85db.zip
Moved method isManagerMachine() from MainWindow to Client.
isManagerMachine() is now called just once directly in lockScreen().
Diffstat (limited to 'src/server/net/client.cpp')
-rw-r--r--src/server/net/client.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp
index 135157c..584b254 100644
--- a/src/server/net/client.cpp
+++ b/src/server/net/client.cpp
@@ -11,6 +11,7 @@
#include "../../shared/util.h"
#include <QPixmap>
#include <cassert>
+#include <QNetworkInterface>
#define CHALLENGE_LEN 20
@@ -310,10 +311,24 @@ void Client::stopVncClient()
}
}
+/***************************************************************************//**
+ * Checks if client and manager runs on same machine.
+ * @return Return true, if pvsmanager is running on client.
+ */
+bool Client::isManagerMachine()
+{
+ foreach (const QHostAddress &address, QNetworkInterface::allAddresses())
+ if (address != QHostAddress(QHostAddress::LocalHost)
+ && this != NULL
+ && this->ip() == address.toString())
+ return true;
+ return false;
+}
+
/******************************************************************************/
void Client::lockScreen(bool lock)
{
- if (!_isTutor && _locked != lock){
+ if (!_isTutor && _locked != lock && !isManagerMachine()){
_locked = lock;
NetworkMessage msg;
msg.setField(_ID, _LOCK);