From 286af12dc1d96a1431c04a12989f3b80a4495e3b Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Tue, 27 May 2014 16:10:49 +0200 Subject: Add several documentation stubs. Remove autogenreated TODO --- src/server/net/discoverylistener.cpp | 54 +++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 22 deletions(-) (limited to 'src/server') diff --git a/src/server/net/discoverylistener.cpp b/src/server/net/discoverylistener.cpp index b308a09..f3d7d39 100644 --- a/src/server/net/discoverylistener.cpp +++ b/src/server/net/discoverylistener.cpp @@ -25,6 +25,33 @@ // +++ static ++++ hash ip address +++ + +/***************************************************************************//** + * @brief DiscoveryListener::DiscoveryListener + */ +DiscoveryListener::DiscoveryListener() : + _socket(this), _counterResetPos(0) +{ + if (!_socket.bind(SERVICE_DISCOVERY_PORT)) + qFatal("Could not bind to service discovery port %d", (int)SERVICE_DISCOVERY_PORT); + connect(&_socket, SIGNAL(readyRead()), this, SLOT(onReadyRead())); + for (int i = 0; i < SD_PACKET_TABLE_SIZE; ++i) + _packetCounter[i] = 0; + startTimer((SPAM_MODERATE_AT_ONCE * SPAM_MODERATE_INTERVAL) / SD_PACKET_TABLE_SIZE + 1); +} + +/***************************************************************************//** + * @brief DiscoveryListener::~DiscoveryListener + */ +DiscoveryListener::~DiscoveryListener() +{ +} + +/***************************************************************************//** + * @brief hash + * @param host + * @return + */ static quint16 hash(const QHostAddress& host) { static quint16 seed1 = 0, seed2 = 0; @@ -70,30 +97,13 @@ static quint16 hash(const QHostAddress& host) return result; } -// +++++++++++++++++++++++++++++++++++ - -DiscoveryListener::DiscoveryListener() : - _socket(this), _counterResetPos(0) -{ - if (!_socket.bind(SERVICE_DISCOVERY_PORT)) - qFatal("Could not bind to service discovery port %d", (int)SERVICE_DISCOVERY_PORT); - connect(&_socket, SIGNAL(readyRead()), this, SLOT(onReadyRead())); - for (int i = 0; i < SD_PACKET_TABLE_SIZE; ++i) - _packetCounter[i] = 0; - startTimer((SPAM_MODERATE_AT_ONCE * SPAM_MODERATE_INTERVAL) / SD_PACKET_TABLE_SIZE + 1); -} - -DiscoveryListener::~DiscoveryListener() -{ - // TODO Auto-generated destructor stub -} - /* * Overrides */ -/** - * Decrease packet counters per source IP in our "spam protection" table. +/***************************************************************************//** + * @brief Decrease packet counters per source IP in our "spam protection" table. + * @param event */ void DiscoveryListener::timerEvent(QTimerEvent* event) { @@ -112,8 +122,8 @@ void DiscoveryListener::timerEvent(QTimerEvent* event) * Slots */ -/** - * Incoming UDP packet on service discovery port - handle. +/***************************************************************************//** + * @brief Incoming UDP packet on service discovery port - handle. */ void DiscoveryListener::onReadyRead() { -- cgit v1.2.3-55-g7522 From 35cb7fbc69cd0233ea5cb43405082119aa21d6b4 Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Tue, 27 May 2014 16:17:37 +0200 Subject: Remove TODO. User get visual feedback via cam icon. --- src/server/net/client.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src/server') diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp index abd739d..4adcf01 100644 --- a/src/server/net/client.cpp +++ b/src/server/net/client.cpp @@ -169,7 +169,6 @@ void Client::handleMsg() if (_vncPort <= 0) { qDebug() << "Starting VNC server on client" << _name << " (" << _socket->peerAddress().toString()+_vncPort << ") failed."; - // TODO: Show message on manager } else { -- cgit v1.2.3-55-g7522 From c9e1030d103e96ac3485cc16f9bb977c05d06726 Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Wed, 28 May 2014 17:20:31 +0200 Subject: Increase timeout for debugging --- src/server/net/client.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server') diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp index 4adcf01..135157c 100644 --- a/src/server/net/client.cpp +++ b/src/server/net/client.cpp @@ -46,8 +46,8 @@ Client::Client(QSslSocket* socket) : _socket(socket) msgChlng.setField(_CHALLENGE, _challenge); msgChlng.writeMessage(_socket); // give client 3 seconds to complete handshake - _timerIdAuthTimeout = startTimer(3000); - _timerPingTimeout = startTimer(600000); // for debugging purposes 10min + _timerIdAuthTimeout = startTimer(600000);// TODO undo, for debugging purposes 10min + _timerPingTimeout = startTimer(600000); // TODO undo, for debugging purposes 10min _pingTimeout = QDateTime::currentMSecsSinceEpoch() + PING_TIMEOUT_MS; } -- cgit v1.2.3-55-g7522 From 6b3a98ee512299fffe3b0c6cf12a43bcf37318a3 Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Wed, 28 May 2014 17:27:04 +0200 Subject: Give Exclusive student to tutor correct funtion. Kill all projections on lock. --- src/server/mainwindow/mainwindow.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/mainwindow/mainwindow.cpp b/src/server/mainwindow/mainwindow.cpp index 7279869..b25f416 100644 --- a/src/server/mainwindow/mainwindow.cpp +++ b/src/server/mainwindow/mainwindow.cpp @@ -594,7 +594,7 @@ void MainWindow::onButtonStudentToTutorExclusive() else if (_tutorFrame->client() == NULL) QMessageBox::critical(this, tr("Projection"), sStrTutorOffline); else - changeProjection(_tutorFrame->client(), Mode::LockedMulticast, _selectedFrame->client()); + changeProjection(_selectedFrame->client(), Mode::LockedMulticast, _tutorFrame->client()); } @@ -623,6 +623,9 @@ void MainWindow::onButtonStopProjection() */ void MainWindow::onButtonLock(bool checked) { + // Stop all projections + onButtonStopProjection(); + for (QList::iterator it(_clientFrames.begin()); it != _clientFrames.end(); ++it) { // Check if client is Tutor or the manager is also running on this machine. -- cgit v1.2.3-55-g7522 From 92e7d3f1a52c4ba75ef93d88181ff6fa6f3d4e69 Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Wed, 28 May 2014 17:44:35 +0200 Subject: Uncheck lock if any action is performed. --- src/server/mainwindow/mainwindow.cpp | 38 +++++++++++++++++++++++++++--------- src/server/mainwindow/mainwindow.h | 1 + 2 files changed, 30 insertions(+), 9 deletions(-) (limited to 'src/server') diff --git a/src/server/mainwindow/mainwindow.cpp b/src/server/mainwindow/mainwindow.cpp index b25f416..6afa608 100644 --- a/src/server/mainwindow/mainwindow.cpp +++ b/src/server/mainwindow/mainwindow.cpp @@ -349,6 +349,20 @@ void MainWindow::mouseReleaseEvent(QMouseEvent* e) } } +/***************************************************************************//** + * @brief reset + */ +void MainWindow::reset() +{ + // Unlock all clients + for (QList::iterator it(_clientFrames.begin()); it != _clientFrames.end(); ++it) + if ((*it)->client() != NULL) + (*it)->client()->lockScreen(false); + + // Stop server (Clients get stopped on ACK) + if (_streamingSource != NULL) + _streamingSource->stopVncServer(); +} /* * Slots @@ -514,6 +528,8 @@ void MainWindow::onButtonHelp() */ void MainWindow::onButtonTutorToAll() { + ui->action_Lock->setChecked(false); + if (_tutorFrame == NULL) QMessageBox::critical(this, tr("Projection"), sStrTutorNdef); else if (_tutorFrame->client() == NULL) @@ -529,6 +545,8 @@ void MainWindow::onButtonTutorToAll() */ void MainWindow::onButtonStudentToAll() { + ui->action_Lock->setChecked(false); + if (_selectedFrame == NULL) QMessageBox::critical(this, tr("Projection"), sStrSourceNdef); if (_selectedFrame->client() == NULL) @@ -543,6 +561,8 @@ void MainWindow::onButtonStudentToAll() */ void MainWindow::onButtonTutorToStudent() { + ui->action_Lock->setChecked(false); + if (_selectedFrame == NULL) QMessageBox::critical(this, tr("Projection"), sStrDestNdef); else if (_tutorFrame == NULL) @@ -563,6 +583,8 @@ void MainWindow::onButtonTutorToStudent() */ void MainWindow::onButtonStudentToTutor() { + ui->action_Lock->setChecked(false); + if (_selectedFrame == NULL) QMessageBox::critical(this, tr("Projection"), sStrSourceNdef); else if (_tutorFrame == NULL) @@ -583,6 +605,8 @@ void MainWindow::onButtonStudentToTutor() */ void MainWindow::onButtonStudentToTutorExclusive() { + ui->action_Lock->setChecked(false); + if (_selectedFrame == NULL) QMessageBox::critical(this, tr("Projection"), sStrSourceNdef); else if (_tutorFrame == NULL) @@ -605,14 +629,8 @@ void MainWindow::onButtonStudentToTutorExclusive() */ void MainWindow::onButtonStopProjection() { - // Unlock all clients - for (QList::iterator it(_clientFrames.begin()); it != _clientFrames.end(); ++it) - if ((*it)->client() != NULL) - (*it)->client()->lockScreen(false); - - // Stop server (Clients get stopped on ACK) - if (_streamingSource != NULL) - _streamingSource->startVncServer(); + ui->action_Lock->setChecked(false); + reset(); } /***************************************************************************//** @@ -624,7 +642,7 @@ void MainWindow::onButtonStopProjection() void MainWindow::onButtonLock(bool checked) { // Stop all projections - onButtonStopProjection(); + reset(); for (QList::iterator it(_clientFrames.begin()); it != _clientFrames.end(); ++it) { @@ -656,6 +674,8 @@ void MainWindow::onButtonExit() */ void MainWindow::onButtonSetAsTutor() { + ui->action_Lock->setChecked(false); + // If no frame is selected, warning. if (_selectedFrame == NULL) { diff --git a/src/server/mainwindow/mainwindow.h b/src/server/mainwindow/mainwindow.h index 25eb9aa..89361c9 100644 --- a/src/server/mainwindow/mainwindow.h +++ b/src/server/mainwindow/mainwindow.h @@ -78,6 +78,7 @@ private: bool isValidClient(Client* client); void changeProjection(Client *from, Mode mode = Mode::Broadcast, Client *to = NULL); void tellClientCurrentSituation(Client* client); + void reset(); void closeEvent(QCloseEvent *e); void changeEvent(QEvent *e); -- cgit v1.2.3-55-g7522