#include "definitions.h"
-enum JOBTYPE { PROXYJOB = 1, CUTJOB = 2};
+enum JOBTYPE { NOJOBTYPE = 0, PROXYJOB = 1, CUTJOB = 2, MLTJOB = 3};
class AbstractClipJob : public QObject
{
Q_OBJECT
public:
- AbstractClipJob(JOBTYPE type, CLIPTYPE cType, const QString &id, QStringList parameters);
- virtual ~ AbstractClipJob();
- CLIPTYPE clipType;
+ AbstractClipJob(JOBTYPE type, ClipType cType, const QString &id, const QStringList ¶meters); virtual ~ AbstractClipJob();
+ ClipType clipType;
JOBTYPE jobType;
- QString m_clipId;
QString description;
+ bool replaceClip;
const QString clipId() const;
+ const QString errorMessage() const;
+ const QString logDetails() const;
+ ClipJobStatus status();
+ virtual void setStatus(ClipJobStatus status);
virtual const QString destination() const;
- virtual QProcess *startJob(bool */*ok*/);
+ virtual void startJob();
virtual stringMap cancelProperties();
- virtual int processLogInfo();
+ virtual void processLogInfo();
+ virtual const QString statusMessage();
+ /** @brief Returns true if only one instance of this job can be run on a clip. */
+ virtual bool isExclusive();
+ bool addClipToProject() const;
+ void setAddClipToProject(bool add);
+
+protected:
+ ClipJobStatus m_jobStatus;
+ QString m_clipId;
+ QString m_errorMessage;
+ QString m_logDetails;
+ bool m_addClipToProject;
QProcess *m_jobProcess;
signals:
- void jobProgress(int progress);
-
+ void jobProgress(const QString&, int, int);
+ void cancelRunningJob(const QString &, const stringMap&);
};