Merge branch '1.0' of /home/carl/git/dvdomatic into 1.0
[dcpomatic.git] / src / lib / job_manager.cc
index f962754677c2c1c672092838a0eca23f73e5873f..a841fa60bd553698a873e7105d5f2086e8e4040b 100644 (file)
@@ -30,7 +30,9 @@
 
 using std::string;
 using std::list;
+using std::cout;
 using boost::shared_ptr;
+using boost::weak_ptr;
 
 JobManager* JobManager::_instance = 0;
 
@@ -43,19 +45,16 @@ JobManager::JobManager ()
 shared_ptr<Job>
 JobManager::add (shared_ptr<Job> j)
 {
-       boost::mutex::scoped_lock lm (_mutex);
-       _jobs.push_back (j);
-       return j;
-}
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _jobs.push_back (j);
+       }
 
-void
-JobManager::add_after (shared_ptr<Job> after, shared_ptr<Job> j)
-{
-       boost::mutex::scoped_lock lm (_mutex);
-       list<shared_ptr<Job> >::iterator i = find (_jobs.begin(), _jobs.end(), after);
-       assert (i != _jobs.end ());
-       ++i;
-       _jobs.insert (i, j);
+       if (ui_signaller) {
+               ui_signaller->emit (boost::bind (boost::ref (JobAdded), weak_ptr<Job> (j)));
+       }
+       
+       return j;
 }
 
 list<shared_ptr<Job> >