chiark / gitweb /
systemctl: suppress a gcc sign assignemnt warning
[elogind.git] / job.c
diff --git a/job.c b/job.c
index 378a85df6708652bc6fc4e6dea9edc0ba7957aad..4784d9c05dbc200ae81853b9b026129690b0af8b 100644 (file)
--- a/job.c
+++ b/job.c
@@ -1,5 +1,24 @@
 /*-*- Mode: C; c-basic-offset: 8 -*-*/
 
+/***
+  This file is part of systemd.
+
+  Copyright 2010 Lennart Poettering
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
 #include <assert.h>
 #include <errno.h>
 
@@ -463,6 +482,17 @@ void job_schedule_run(Job *j) {
         j->in_run_queue = true;
 }
 
+char *job_dbus_path(Job *j) {
+        char *p;
+
+        assert(j);
+
+        if (asprintf(&p, "/org/freedesktop/systemd1/job/%lu", (unsigned long) j->id) < 0)
+                return NULL;
+
+        return p;
+}
+
 static const char* const job_state_table[_JOB_STATE_MAX] = {
         [JOB_WAITING] = "waiting",
         [JOB_RUNNING] = "running"
@@ -481,3 +511,10 @@ static const char* const job_type_table[_JOB_TYPE_MAX] = {
 };
 
 DEFINE_STRING_TABLE_LOOKUP(job_type, JobType);
+
+static const char* const job_mode_table[_JOB_MODE_MAX] = {
+        [JOB_FAIL] = "fail",
+        [JOB_REPLACE] = "replace"
+};
+
+DEFINE_STRING_TABLE_LOOKUP(job_mode, JobMode);