Merge branch 'master' into speed-up
[dcpomatic.git] / src / lib / job.h
index f50ed078434efb6cd3661de2802a4c528fb18c7d..41cefb9bee113a2ba322f06845fb4e02cf3daca0 100644 (file)
 #include <string>
 #include <boost/thread/mutex.hpp>
 #include <boost/enable_shared_from_this.hpp>
-#include <sigc++/sigc++.h>
+#include <boost/signals2.hpp>
 
-class Log;
-class FilmState;
+class Film;
 class Options;
 
 /** @class Job
@@ -39,7 +38,8 @@ class Options;
 class Job : public boost::enable_shared_from_this<Job>
 {
 public:
-       Job (boost::shared_ptr<const FilmState> s, boost::shared_ptr<const Options> o, Log* l, boost::shared_ptr<Job> req);
+       Job (boost::shared_ptr<Film> s, boost::shared_ptr<Job> req);
+       virtual ~Job() {}
 
        /** @return user-readable name of this job */
        virtual std::string name () const = 0;
@@ -65,14 +65,11 @@ public:
        void descend (float);
        float overall_progress () const;
 
-       void emit_finished ();
-
        boost::shared_ptr<Job> required () const {
                return _required;
        }
 
-       /** Emitted from the GUI thread */
-       sigc::signal0<void> Finished;
+       boost::signals2::signal<void()> Finished;
 
 protected:
 
@@ -89,12 +86,8 @@ protected:
        void set_state (State);
        void set_error (std::string e);
 
-       /** FilmState for this job */
-       boost::shared_ptr<const FilmState> _fs;
-       /** options in use for this job */
-       boost::shared_ptr<const Options> _opt;
-       /** a log that this job can write to */
-       Log* _log;
+       /** Film for this job */
+       boost::shared_ptr<Film> _film;
 
 private: