summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--unit.c13
-rw-r--r--unit.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/unit.c b/unit.c
index 4076120920..a5f4ac7676 100644
--- a/unit.c
+++ b/unit.c
@@ -836,6 +836,19 @@ int unit_add_dependency(Unit *u, UnitDependency d, Unit *other) {
return 0;
}
+int unit_add_dependency_by_name(Unit *u, UnitDependency d, const char *name) {
+ Unit *other;
+ int r;
+
+ if ((r = manager_load_unit(u->meta.manager, name, &other)) < 0)
+ return r;
+
+ if ((r = unit_add_dependency(u, d, other)) < 0)
+ return r;
+
+ return 0;
+}
+
const char *unit_path(void) {
char *e;
diff --git a/unit.h b/unit.h
index a90baf022a..a29c50ed97 100644
--- a/unit.h
+++ b/unit.h
@@ -196,6 +196,7 @@ void unit_free(Unit *u);
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);
void unit_add_to_load_queue(Unit *u);