From 5c89ab17cf5c516cb2232dffc0b5ddae6c7d2be0 Mon Sep 17 00:00:00 2001 From: Itay Grudev Date: Thu, 26 Feb 2015 19:00:11 +0000 Subject: Completly rewritten and simplified source --- localserver.cpp | 129 -------------------------------------------------------- 1 file changed, 129 deletions(-) delete mode 100644 localserver.cpp (limited to 'localserver.cpp') diff --git a/localserver.cpp b/localserver.cpp deleted file mode 100644 index f3adcb9..0000000 --- a/localserver.cpp +++ /dev/null @@ -1,129 +0,0 @@ -#include "localserver.h" - -#include -#include - -/** - * @brief LocalServer::LocalServer - * Constructor - */ -LocalServer::LocalServer() -{ - -} - -/** - * @brief LocalServer::~LocalServer - * Destructor - */ -LocalServer::~LocalServer() -{ - server->close(); - for(int i = 0; i < clients.size(); ++i) - { - clients[i]->close(); - } -} - -/** - * ----------------------- - * QThread requred methods - * ----------------------- - */ - -/** - * @brief run - * Initiate the thread. - */ -void LocalServer::run() -{ - server = new QLocalServer(); - - QObject::connect(server, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); - QObject::connect(this, SIGNAL(privateDataReceived(QString)), this, SLOT(slotOnData(QString))); - -#ifdef Q_OS_UNIX - // Make sure the temp address file is deleted - QFile address(QString("/tmp/" LOCAL_SERVER_NAME)); - if(address.exists()){ - address.remove(); - } -#endif - - QString serverName = QString(LOCAL_SERVER_NAME); - server->listen(serverName); - while(server->isListening() == false){ - server->listen(serverName); - msleep(100); - } - exec(); -} - -/** - * @brief LocalServer::exec - * Keeps the thread alive. Waits for incomming connections - */ -void LocalServer::exec() -{ - while(server->isListening()) - { - msleep(100); - server->waitForNewConnection(100); - for(int i = 0; i < clients.size(); ++i) - { - if(clients[i]->waitForReadyRead(100)){ - QByteArray data = clients[i]->readAll(); - emit privateDataReceived(data); - } - } - } -} - -/** - * ------- - * SLOTS - * ------- - */ - -/** - * @brief LocalServer::slotNewConnection - * Executed when a new connection is available - */ -void LocalServer::slotNewConnection() -{ - clients.push_front(server->nextPendingConnection()); -} - -/** - * @brief LocalServer::slotOnData - * Executed when data is received - * @param data - */ -void LocalServer::slotOnData(QString data) -{ - if(data.contains("CMD:", Qt::CaseInsensitive)){ - onSGC(data); - } else { - emit dataReceived(data); - } -} - -/** - * ------- - * Helper methods - * ------- - */ - -void LocalServer::onCMD(QString data) -{ - // Trim the leading part from the command - data.replace(0, 4, ""); - - QStringList commands; - commands << "showUp"; - - switch(commands.indexOf(data)){ - case 0: - emit showUp(); - } -} -- cgit v1.2.1