projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge.
[dcpomatic.git]
/
src
/
lib
/
job.h
diff --git
a/src/lib/job.h
b/src/lib/job.h
index b391304792e0a3e9ab0a926ae440b3dfcf806e8d..c98dbaea15dfb13133611f61727439d332158470 100644
(file)
--- a/
src/lib/job.h
+++ b/
src/lib/job.h
@@
-27,11
+27,9
@@
#include <string>
#include <boost/thread/mutex.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <string>
#include <boost/thread/mutex.hpp>
#include <boost/enable_shared_from_this.hpp>
-#include <
sigc++/sigc++.h
>
+#include <
boost/signals2.hpp
>
-class Log;
-class FilmState;
-class Options;
+class Film;
/** @class Job
* @brief A parent class to represent long-running tasks which are run in their own thread.
/** @class Job
* @brief A parent class to represent long-running tasks which are run in their own thread.
@@
-39,7
+37,8
@@
class Options;
class Job : public boost::enable_shared_from_this<Job>
{
public:
class Job : public boost::enable_shared_from_this<Job>
{
public:
- Job (boost::shared_ptr<const FilmState> s, boost::shared_ptr<const Options> o, Log* l);
+ Job (boost::shared_ptr<Film> s);
+ virtual ~Job() {}
/** @return user-readable name of this job */
virtual std::string name () const = 0;
/** @return user-readable name of this job */
virtual std::string name () const = 0;
@@
-48,12
+47,14
@@
public:
void start ();
void start ();
+ bool is_new () const;
bool running () const;
bool finished () const;
bool finished_ok () const;
bool finished_in_error () const;
bool running () const;
bool finished () const;
bool finished_ok () const;
bool finished_in_error () const;
- std::string error () const;
+ std::string error_summary () const;
+ std::string error_details () const;
int elapsed_time () const;
virtual std::string status () const;
int elapsed_time () const;
virtual std::string status () const;
@@
-64,10
+65,8
@@
public:
void descend (float);
float overall_progress () const;
void descend (float);
float overall_progress () const;
- void emit_finished ();
-
- /** Emitted from the GUI thread */
- sigc::signal0<void> Finished;
+ /** Emitted by the JobManagerView from the UI thread */
+ boost::signals2::signal<void()> Finished;
protected:
protected:
@@
-82,14
+81,10
@@
protected:
};
void set_state (State);
};
void set_state (State);
- void set_error (std::string
e
);
+ void set_error (std::string
s, std::string d
);
- /** FilmState for this job */
- boost::shared_ptr<const FilmState> _fs;
- /** options in use for this job */
- boost::shared_ptr<const Options> _opt;
- /** a log that this job can write to */
- Log* _log;
+ /** Film for this job */
+ boost::shared_ptr<Film> _film;
private:
private:
@@
-99,8
+94,9
@@
private:
mutable boost::mutex _state_mutex;
/** current state of the job */
State _state;
mutable boost::mutex _state_mutex;
/** current state of the job */
State _state;
- /** message for an error that has occurred (when state == FINISHED_ERROR) */
- std::string _error;
+ /** summary of an error that has occurred (when state == FINISHED_ERROR) */
+ std::string _error_summary;
+ std::string _error_details;
/** time that this job was started */
time_t _start_time;
/** time that this job was started */
time_t _start_time;
@@
-119,6
+115,8
@@
private:
/** true if this job's progress will always be unknown */
bool _progress_unknown;
/** true if this job's progress will always be unknown */
bool _progress_unknown;
+
+ int _ran_for;
};
#endif
};
#endif