diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-10-19 15:41:41 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-10-19 15:41:41 +0100 |
| commit | 11325f810e214935e4115248223c186a6e4cc184 (patch) | |
| tree | b529056e5f0001cccb0621f31a3bed5d4f43e2da /src/lib/job.h | |
| parent | 6543d9a51b31ce24726187d9d1b018f05f09ef40 (diff) | |
Some improvements in progress reporting, especially for long jobs.
Diffstat (limited to 'src/lib/job.h')
| -rw-r--r-- | src/lib/job.h | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/lib/job.h b/src/lib/job.h index 9b8b14a93..62db0fc46 100644 --- a/src/lib/job.h +++ b/src/lib/job.h @@ -64,14 +64,16 @@ public: int elapsed_time () const; virtual std::string status () const; + std::string sub_name () const { + return _sub_name; + } void set_progress_unknown (); void set_progress (float); - void ascend (); - void descend (float); - float overall_progress () const; + void sub (std::string); + float progress () const; bool progress_unknown () const { - return _progress_unknown; + return !_progress; } boost::signals2::signal<void()> Progress; @@ -111,25 +113,13 @@ private: std::string _error_summary; std::string _error_details; - /** time that this job was started */ + /** time that this sub-job was started */ time_t _start_time; + std::string _sub_name; - /** mutex for _stack and _progress_unknown */ + /** mutex for _progress */ mutable boost::mutex _progress_mutex; - - struct Level { - Level (float a) : allocation (a), normalised (0) {} - - float allocation; - float normalised; - }; - - std::list<Level> _stack; - - /** true if this job's progress will always be unknown */ - bool _progress_unknown; - - float _last_set; + boost::optional<float> _progress; int _ran_for; }; |
