X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fjob.h;h=660ddaa132715dc7e4f4dba1cb647344492de441;hb=58b5c57c9a4767c786a1428f243c60ff52c82c26;hp=32e71d6581c0bb3767f68dca222cc58ce601aa80;hpb=d2bd0c628fd0616fe3b7dd02bd955b2c07ab48d5;p=dcpomatic.git diff --git a/src/lib/job.h b/src/lib/job.h index 32e71d658..660ddaa13 100644 --- a/src/lib/job.h +++ b/src/lib/job.h @@ -1,19 +1,20 @@ /* Copyright (C) 2012 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ @@ -64,7 +65,6 @@ public: std::string error_summary () const; std::string error_details () const; - int elapsed_time () const; virtual std::string status () const; std::string json_status () const; std::string sub_name () const { @@ -102,6 +102,8 @@ protected: void set_state (State); void set_error (std::string s, std::string d); + int elapsed_sub_time () const; + void check_for_interruption_or_pause (); boost::shared_ptr _film; @@ -120,13 +122,16 @@ private: std::string _error_summary; std::string _error_details; - /** time that this sub-job was started */ + /** time that this job was started */ time_t _start_time; + /** time that this sub-job was started */ + time_t _sub_start_time; std::string _sub_name; - /** mutex for _progress */ + /** mutex for _progress and _last_progress_update */ mutable boost::mutex _progress_mutex; boost::optional _progress; + boost::optional _last_progress_update; /** condition to signal changes to pause/resume so that we know when to wake; this could be a general _state_change if it made more sense.