X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dbus-unit.c;h=e3e1be12ade2be09393e0198ca85ac57eda43096;hb=1b322bdb2a147e999c3861cba8a6b3ac0f3b712a;hp=0c311ea1a71825f88e5bd3eb3e18d7df4bce4c0d;hpb=94b6dfa24f84bd8854c1dc566413b0719dce9e0d;p=elogind.git diff --git a/dbus-unit.c b/dbus-unit.c index 0c311ea1a..e3e1be12a 100644 --- a/dbus-unit.c +++ b/dbus-unit.c @@ -44,6 +44,25 @@ int bus_unit_append_names(Manager *m, DBusMessageIter *i, const char *property, return 0; } +int bus_unit_append_dependencies(Manager *m, DBusMessageIter *i, const char *property, void *data) { + Unit *u; + Iterator j; + DBusMessageIter sub; + Set *s = data; + + if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "s", &sub)) + return -ENOMEM; + + SET_FOREACH(u, s, j) + if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_STRING, &u->meta.id)) + return -ENOMEM; + + if (!dbus_message_iter_close_container(i, &sub)) + return -ENOMEM; + + return 0; +} + int bus_unit_append_description(Manager *m, DBusMessageIter *i, const char *property, void *data) { Unit *u = data; const char *d;