incoming connections to local server are now proccessed in threads

This commit is contained in:
Luis Ángel San Martín
2013-08-19 12:24:42 +02:00
parent db9aad8521
commit 85dd3f862c
7 changed files with 181 additions and 150 deletions

View File

@ -2,27 +2,43 @@
#define YACREADER_LOCAL_SERVER_H
#include <QObject>
#include <QThread>
class QLocalServer;
class QLocalSocket;
class ComicDB;
class YACReaderLocalServer : public QObject
{
Q_OBJECT
Q_OBJECT
public:
explicit YACReaderLocalServer(QObject *parent = 0);
explicit YACReaderLocalServer(QObject *parent = 0);
signals:
void comicUpdated(quint64 libraryId, const ComicDB & comic);
void comicUpdated(quint64 libraryId, const ComicDB & comic);
public slots:
bool isListening();
void sendResponse();
bool isListening();
void sendResponse();
static bool isRunning();
private:
QLocalServer * localServer;
};
class YACReaderClientConnectionWorker : public QThread
{
Q_OBJECT
public:
YACReaderClientConnectionWorker( QLocalSocket *clientConnection);
signals:
void comicUpdated(quint64 libraryId, const ComicDB & comic);
private:
void run();
void getComicInfo(quint64 libraryId, ComicDB & comic, QList<ComicDB> & sibling);
void updateComic(quint64 libraryId, ComicDB & comic);
private:
QLocalServer * localServer;
QLocalSocket *clientConnection;
};
#endif // YACREADER_LOCAL_SERVER_H