From 3f5035c38c1004614b872ef0ef05346197a23f0f Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Tue, 22 Mar 2011 18:03:26 +0100 Subject: [PATCH] added missing files --- servatrice/src/serversocketthread.cpp | 29 +++++++++++++++++++++++++++ servatrice/src/serversocketthread.h | 24 ++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 servatrice/src/serversocketthread.cpp create mode 100644 servatrice/src/serversocketthread.h diff --git a/servatrice/src/serversocketthread.cpp b/servatrice/src/serversocketthread.cpp new file mode 100644 index 00000000..4bb7129a --- /dev/null +++ b/servatrice/src/serversocketthread.cpp @@ -0,0 +1,29 @@ +#include "serversocketthread.h" +#include "serversocketinterface.h" +#include "server_logger.h" +#include "main.h" + +ServerSocketThread::ServerSocketThread(int _socketDescriptor, Servatrice *_server, QObject *parent) + : QThread(parent), server(_server), socketDescriptor(_socketDescriptor) +{ +} + +ServerSocketThread::~ServerSocketThread() +{ + quit(); + wait(); +} + +void ServerSocketThread::run() +{ + QTcpSocket *socket = new QTcpSocket; + socket->setSocketDescriptor(socketDescriptor); + logger->logMessage(QString("incoming connection: %1").arg(socket->peerAddress().toString())); + + ssi = new ServerSocketInterface(server, socket); + connect(ssi, SIGNAL(destroyed()), this, SLOT(deleteLater())); + + emit clientAdded(ssi); + + exec(); +} diff --git a/servatrice/src/serversocketthread.h b/servatrice/src/serversocketthread.h new file mode 100644 index 00000000..867756b5 --- /dev/null +++ b/servatrice/src/serversocketthread.h @@ -0,0 +1,24 @@ +#ifndef SERVERSOCKETTHREAD_H +#define SERVERSOCKETTHREAD_H + +#include + +class Servatrice; +class ServerSocketInterface; + +class ServerSocketThread : public QThread { + Q_OBJECT +private: + Servatrice *server; + ServerSocketInterface *ssi; + int socketDescriptor; +public: + ServerSocketThread(int _socketDescriptor, Servatrice *_server, QObject *parent = 0); + ~ServerSocketThread(); +protected: + void run(); +signals: + void clientAdded(ServerSocketInterface *client); +}; + +#endif