]> err.no Git - systemd/commitdiff
add api for choose the id name for a service
authorLennart Poettering <lennart@poettering.net>
Fri, 29 Jan 2010 00:49:34 +0000 (01:49 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 29 Jan 2010 00:49:34 +0000 (01:49 +0100)
unit.c
unit.h

diff --git a/unit.c b/unit.c
index c8a6f669615f309506574d21d9c89181b0dc9aba..dbdd7e663e5783c020f0638071a5d13ad8fa4033 100644 (file)
--- a/unit.c
+++ b/unit.c
@@ -155,6 +155,21 @@ int unit_add_name(Unit *u, const char *text) {
         return 0;
 }
 
+int unit_choose_id(Unit *u, const char *name) {
+        char *s;
+
+        assert(u);
+        assert(name);
+
+        /* Selects one of the names of this unit as the id */
+
+        if (!(s = set_get(u->meta.names, (char*) name)))
+                return -ENOENT;
+
+        u->meta.id = s;
+        return 0;
+}
+
 void unit_add_to_load_queue(Unit *u) {
         assert(u);
 
diff --git a/unit.h b/unit.h
index 7ab2ccdfbcef004f7b9d0592094150cd2cda3c42..8505d275a4a73cba0fd0b802531ed87f01782e0c 100644 (file)
--- a/unit.h
+++ b/unit.h
@@ -201,6 +201,8 @@ int unit_add_name(Unit *u, const char *name);
 int unit_add_dependency(Unit *u, UnitDependency d, Unit *other);
 int unit_add_dependency_by_name(Unit *u, UnitDependency d, const char *name);
 
+int unit_choose_id(Unit *u, const char *name);
+
 void unit_add_to_load_queue(Unit *u);
 
 int unit_merge(Unit *u, Unit *other);