X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fjob.h;h=30d41d9edd8e1a85255d4ab8b62e6622754832df;hb=5261ba901845c084de5a8fd06500ed09bfb0bd80;hp=3f6357a054dc1cedfaaa22c106f571ad72b2c919;hpb=d420282b28f50720e233ccb1c02547c562195653;p=elogind.git diff --git a/src/core/job.h b/src/core/job.h index 3f6357a05..30d41d9ed 100644 --- a/src/core/job.h +++ b/src/core/job.h @@ -84,6 +84,7 @@ enum JobMode { JOB_REPLACE, /* Replace an existing conflicting job */ JOB_REPLACE_IRREVERSIBLY,/* Like JOB_REPLACE + produce irreversible jobs */ JOB_ISOLATE, /* Start a unit, and stop all others */ + JOB_FLUSH, /* Flush out all other queued jobs when queing this one */ JOB_IGNORE_DEPENDENCIES, /* Ignore both requirement and ordering dependencies */ JOB_IGNORE_REQUIREMENTS, /* Ignore requirement dependencies */ _JOB_MODE_MAX, @@ -96,7 +97,8 @@ enum JobResult { JOB_TIMEOUT, /* JobTimeout elapsed */ JOB_FAILED, /* Job failed */ JOB_DEPENDENCY, /* A required dependency job did not result in JOB_DONE */ - JOB_SKIPPED, /* JOB_RELOAD of inactive unit; negative result of JOB_VERIFY_ACTIVE */ + JOB_SKIPPED, /* Negative result of JOB_VERIFY_ACTIVE */ + JOB_INVALID, /* JOB_RELOAD of inactive unit */ _JOB_RESULT_MAX, _JOB_RESULT_INVALID = -1 }; @@ -144,7 +146,8 @@ struct Job { usec_t begin_usec; /* There can be more than one client, because of job merging. */ - Set *subscribed; + sd_bus_track *subscribed; + char **deserialized_subscribed; JobResult result; @@ -220,3 +223,5 @@ JobMode job_mode_from_string(const char *s) _pure_; const char* job_result_to_string(JobResult t) _const_; JobResult job_result_from_string(const char *s) _pure_; + +int job_get_timeout(Job *j, uint64_t *timeout) _pure_;