#ifndef YACREADER_LOCAL_SERVER_H #define YACREADER_LOCAL_SERVER_H #include #include #include class QLocalServer; class QLocalSocket; class ComicDB; class YACReaderLocalServer : public QObject { Q_OBJECT public: explicit YACReaderLocalServer(QObject *parent = nullptr); signals: void comicUpdated(quint64 libraryId, const ComicDB &comic); public slots: bool isListening(); void sendResponse(); static bool isRunning(); void close(); private: // void run(); QLocalServer *localServer; }; class YACReaderClientConnectionWorker : public QThread { Q_OBJECT public: YACReaderClientConnectionWorker(QLocalSocket *clientConnection); ~YACReaderClientConnectionWorker() override; signals: void comicUpdated(quint64 libraryId, const ComicDB &comic); private: static QMutex dbMutex; // static int count; void run() override; void getComicInfo(quint64 libraryId, ComicDB &comic, QList &siblings); void getComicInfoFromReadingList(quint64 libraryId, unsigned long long readingListId, ComicDB &comic, QList &siblings); void updateComic(quint64 libraryId, ComicDB &comic); void updateComic(quint64 libraryId, ComicDB &comic, qulonglong nextComicId); QLocalSocket *clientConnection; }; #endif // YACREADER_LOCAL_SERVER_H