From 5d44db4a905c62d6cf0dfabbf61df49621efec22 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 24 Feb 2011 02:36:34 +0100 Subject: dbus: pass along information why a job failed when it failed (dbus api change!) --- src/job.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/job.h') diff --git a/src/job.h b/src/job.h index 2499e6492a..de0c1d2317 100644 --- a/src/job.h +++ b/src/job.h @@ -30,6 +30,7 @@ typedef struct JobDependency JobDependency; typedef enum JobType JobType; typedef enum JobState JobState; typedef enum JobMode JobMode; +typedef enum JobResult JobResult; #include "manager.h" #include "unit.h" @@ -71,6 +72,16 @@ enum JobMode { _JOB_MODE_INVALID = -1 }; +enum JobResult { + JOB_DONE, + JOB_CANCELED, + JOB_TIMEOUT, + JOB_FAILED, + JOB_DEPENDENCY, + _JOB_RESULT_MAX, + _JOB_RESULT_INVALID = -1 +}; + struct JobDependency { /* Encodes that the 'subject' job needs the 'object' job in * some way. This structure is used only while building a transaction. */ @@ -110,13 +121,14 @@ struct Job { DBusConnection *bus; char *bus_client; + JobResult result; + bool installed:1; bool in_run_queue:1; bool matters_to_anchor:1; bool override:1; bool in_dbus_queue:1; bool sent_dbus_new_signal:1; - bool failed:1; bool ignore_deps:1; }; @@ -146,7 +158,7 @@ int job_start_timer(Job *j); void job_timer_event(Job *j, uint64_t n_elapsed, Watch *w); int job_run_and_invalidate(Job *j); -int job_finish_and_invalidate(Job *j, bool success); +int job_finish_and_invalidate(Job *j, JobResult result); char *job_dbus_path(Job *j); @@ -159,4 +171,7 @@ JobState job_state_from_string(const char *s); const char* job_mode_to_string(JobMode t); JobMode job_mode_from_string(const char *s); +const char* job_result_to_string(JobResult t); +JobResult job_result_from_string(const char *s); + #endif -- cgit v1.2.3-54-g00ecf