summaryrefslogtreecommitdiff
path: root/src/lib/job.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-02-19 10:47:11 +0000
committerCarl Hetherington <cth@carlh.net>2014-02-19 10:47:11 +0000
commitb5b20f829ed95febe7aba55ebe3679c998b35b5e (patch)
treefa4013a9646aee272ac8e7474275e2ad07cfec3e /src/lib/job.cc
parent6a15d65585af0e19b72200d1fd67e256cd1a7c6c (diff)
Add some basic JSON stuff.
Diffstat (limited to 'src/lib/job.cc')
-rw-r--r--src/lib/job.cc25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/lib/job.cc b/src/lib/job.cc
index 66fa3755d..76976df32 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -239,7 +239,7 @@ Job::set_progress (float p, bool force)
}
}
-/** @return fractional progress of this sub-job, or -1 if not known */
+/** @return fractional progress of the current sub-job, or -1 if not known */
float
Job::progress () const
{
@@ -325,6 +325,29 @@ Job::status () const
return s.str ();
}
+string
+Job::json_status () const
+{
+ boost::mutex::scoped_lock lm (_state_mutex);
+
+ switch (_state) {
+ case NEW:
+ return N_("new");
+ case RUNNING:
+ return N_("running");
+ case PAUSED:
+ return N_("paused");
+ case FINISHED_OK:
+ return N_("finished_ok");
+ case FINISHED_ERROR:
+ return N_("finished_error");
+ case FINISHED_CANCELLED:
+ return N_("finished_cancelled");
+ }
+
+ return "";
+}
+
/** @return An estimate of the remaining time for this sub-job, in seconds */
int
Job::remaining_time () const