1 /***************************************************************************
2 * Copyright (C) 2007 by Jean-Baptiste Mardelle (jb@kdenlive.org) *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
18 ***************************************************************************/
26 #include <QDBusInterface>
29 #include <QTemporaryFile>
30 #include <QTextStream>
32 class RenderJob : public QObject
37 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);
39 void setLocale(const QString &locale);
45 void slotIsOver(QProcess::ExitStatus status, bool isWritable = true);
46 void receivedStderr();
48 void slotAbort(const QString& url);
49 void slotCheckProcess(QProcess::ProcessState state);
55 QProcess* m_renderProcess;
56 QString m_errorMessage;
62 QDBusInterface* m_jobUiserver;
63 QDBusInterface* m_kdenliveinterface;
64 QList<QVariant> m_dbusargs;
66 void initKdenliveDbusInterface();
69 /** @brief Used to create a temporary file for logging. */
70 QTemporaryFile m_logfile;
71 /** @brief Used to write to the log file. */
72 QTextStream m_logstream;
73 /** @brief The process id of the Kdenlive instance, used to get the dbus service. */
77 void renderingFinished();