Remove some debug code.
[dcpomatic.git] / src / lib / job_manager.h
index aafb7aa67aa8609ce8214ef2e500cbc6e62580af..dd7a28db208914c3c67e06d09f04d5acd1c96595 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 #include <boost/thread/mutex.hpp>
 #include <boost/thread.hpp>
 #include <boost/signals2.hpp>
+#include <boost/thread/condition.hpp>
 #include <list>
 
 class Job;
 class Film;
 class Playlist;
+class Content;
+struct threed_test7;
 
 extern bool wait_for_jobs ();
 
@@ -62,6 +65,13 @@ public:
                boost::function<void()> ready
                );
 
+       void analyse_subtitles (
+               boost::shared_ptr<const Film> film,
+               boost::shared_ptr<Content> content,
+               boost::signals2::connection& connection,
+               boost::function<void()> ready
+               );
+
        boost::signals2::signal<void (boost::weak_ptr<Job>)> JobAdded;
        boost::signals2::signal<void ()> JobsReordered;
        boost::signals2::signal<void (boost::optional<std::string>, boost::optional<std::string>)> ActiveJobsChanged;
@@ -72,22 +82,26 @@ public:
 private:
        /* This function is part of the test suite */
        friend bool ::wait_for_jobs ();
+       friend struct threed_test7;
 
        JobManager ();
        ~JobManager ();
        void scheduler ();
        void start ();
        void priority_changed ();
+       void job_finished ();
 
        mutable boost::mutex _mutex;
+       boost::condition _empty_condition;
        /** List of jobs in the order that they will be executed */
        std::list<boost::shared_ptr<Job> > _jobs;
+       std::list<boost::signals2::connection> _connections;
        bool _terminate;
        bool _paused;
        boost::shared_ptr<Job> _paused_job;
 
        boost::optional<std::string> _last_active_job;
-       boost::thread* _scheduler;
+       boost::thread _scheduler;
 
        static JobManager* _instance;
 };