#ifndef IPCPREVIEWCLIENT_H #define IPCPREVIEWCLIENT_H #include #include #include "previewresult.h" #include "renderconfig.h" #include "rendertarget.h" class IPCPreviewClient : public QObject { Q_OBJECT private: unsigned int currentPreviewGeneration = 1; QLocalSocket *socket; QString socketPath; bool connect(); QSharedPointer deserialize(QByteArray &array); public: IPCPreviewClient(); ~IPCPreviewClient() { delete socket; } void setSocketPath(QString socketPath); public slots: void start(RenderConfig config, const QVector &targets); void startGeneration(RenderConfig config, const QVector &targets); void stopGeneration(); signals: void previewReceived(QSharedPointer previewResult, unsigned int currentPreviewGeneration); void finished(); void error(QString); }; #endif // IPCPREVIEWCLIENT_H