X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fjob_manager.h;h=c8450bfdae152e3d4101ad0f1b3c063825e4cc55;hb=a6c4b4fa16d9c6597e362044b875f3d6df80753f;hp=4fe1e45d6b337302611d2c500721dfb719df0e88;hpb=bb949ec65adf95f4a2c7dd5ee7e97b9daaaf3d3f;p=dcpomatic.git diff --git a/src/lib/job_manager.h b/src/lib/job_manager.h index 4fe1e45d6..c8450bfda 100644 --- a/src/lib/job_manager.h +++ b/src/lib/job_manager.h @@ -24,6 +24,7 @@ */ +#include "job.h" #include "signaller.h" #include #include @@ -32,7 +33,6 @@ #include -class Job; class Film; class Playlist; class Content; @@ -70,14 +70,14 @@ public: std::shared_ptr playlist, bool from_zero, boost::signals2::connection& connection, - boost::function ready + std::function ready ); void analyse_subtitles ( std::shared_ptr film, std::shared_ptr content, boost::signals2::connection& connection, - boost::function ready + std::function ready ); boost::signals2::signal)> JobAdded; @@ -96,20 +96,20 @@ private: ~JobManager (); void scheduler (); void start (); - void priority_changed (); void job_finished (); mutable boost::mutex _mutex; - boost::condition _empty_condition; + boost::condition _schedule_condition; /** List of jobs in the order that they will be executed */ std::list> _jobs; std::list _connections; bool _terminate = false; - bool _paused = false; - std::shared_ptr _paused_job; boost::optional _last_active_job; boost::thread _scheduler; + /** true if all jobs should be paused */ + bool _paused = false; + static JobManager* _instance; };