Files
yacreader/YACReaderLibrary/yacreader_local_server.h
luisangelsm 3709b6e737
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Build / Publish YACReader10 Pre-release Builds (push) Has been cancelled
Format includes using clang-format
2026-03-13 18:21:38 +01:00

54 lines
1.3 KiB
C++

#ifndef YACREADER_LOCAL_SERVER_H
#define YACREADER_LOCAL_SERVER_H
#include <QMutex>
#include <QObject>
#include <QThread>
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<ComicDB> &siblings);
void getComicInfoFromReadingList(quint64 libraryId, unsigned long long readingListId, ComicDB &comic, QList<ComicDB> &siblings);
void updateComic(quint64 libraryId, ComicDB &comic);
void updateComic(quint64 libraryId, ComicDB &comic, qulonglong nextComicId);
QLocalSocket *clientConnection;
};
#endif // YACREADER_LOCAL_SERVER_H