#include <QProcess>
#include <QObject>
#include <QDBusInterface>
+#include <QTime>
+// Testing
+#include <QTemporaryFile>
+#include <QTextStream>
-class RenderJob : public QObject {
+class RenderJob : public QObject
+{
Q_OBJECT
+
public:
- RenderJob(QString renderer, QString player, QString scenelist, QString dest, QStringList args);
+ RenderJob(bool erase, bool usekuiserver, int pid, const QString& renderer, const QString& profile, const QString& rendermodule, const QString& player, const QString& scenelist, const QString& dest, const QStringList& preargs, const QStringList& args, int in = -1, int out = -1);
~RenderJob();
+ void setLocale(const QString &locale);
+
+public slots:
void start();
private slots:
- void slotIsOver(int exitcode, QProcess::ExitStatus status);
+ void slotIsOver(QProcess::ExitStatus status, bool isWritable = true);
void receivedStderr();
+ void slotAbort();
+ void slotAbort(const QString& url);
+ void slotCheckProcess(QProcess::ProcessState state);
private:
QString m_scenelist;
QString m_dest;
int m_progress;
- QProcess *m_renderProcess;
+ QProcess* m_renderProcess;
+ QString m_errorMessage;
QString m_prog;
QString m_player;
QStringList m_args;
- QDBusInterface *m_jobUiserver;
+ bool m_erase;
+ bool m_dualpass;
+ QDBusInterface* m_jobUiserver;
+ QDBusInterface* m_kdenliveinterface;
+ QList<QVariant> m_dbusargs;
+ QTime m_startTime;
+ void initKdenliveDbusInterface();
+ bool m_usekuiserver;
+ bool m_enablelog;
+ /** @brief Used to create a temporary file for logging. */
+ QTemporaryFile m_logfile;
+ /** @brief Used to write to the log file. */
+ QTextStream m_logstream;
+ /** @brief The process id of the Kdenlive instance, used to get the dbus service. */
+ int m_pid;
+
+signals:
+ void renderingFinished();
};
#endif