]> git.sesse.net Git - kdenlive/blobdiff - src/projecttree/abstractclipjob.h
Const'ref
[kdenlive] / src / projecttree / abstractclipjob.h
index 6975b4765a8f3a5b34de0947112b44740cbdeba5..d85fa4ed9ed7013ae58958fea2cc33a6b511dc92 100644 (file)
 
 #include "definitions.h"
 
-enum JOBTYPE { NOJOBTYPE = 0, 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();
+    AbstractClipJob(JOBTYPE type, CLIPTYPE cType, const QString &id, const QStringList &parameters);    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&);
 };