File indexing completed on 2024-04-14 04:46:58
0001 /* 0002 SPDX-FileCopyrightText: 2021 Vincent Pinon <vpinon@kde.org> 0003 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 */ 0005 0006 #pragma once 0007 0008 #include <QJsonObject> 0009 #include <QLocalServer> 0010 #include <QLocalSocket> 0011 #include <QPointer> 0012 #include <QProcess> 0013 0014 class RenderServer : public QObject 0015 { 0016 Q_OBJECT 0017 public: 0018 RenderServer(QObject *parent); 0019 ~RenderServer() override; 0020 0021 Q_SIGNALS: 0022 void setRenderingProgress(const QString &url, int progress, int frame); 0023 void setRenderingFinished(const QString &url, int status, const QString &error); 0024 0025 public Q_SLOTS: 0026 void abortJob(const QString &job); 0027 0028 private Q_SLOTS: 0029 void jobConnected(); 0030 void handleJson(const QJsonObject &json, QLocalSocket *socket); 0031 void jobSent(); 0032 0033 private: 0034 QLocalServer m_server; 0035 QHash<QString, QLocalSocket*> m_jobSocket; 0036 };