diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-06-18 01:00:13 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-06-18 01:00:13 +0200 |
commit | 4ec9a8a48d61266638524a7cbc2c4763a9c92e2c (patch) | |
tree | 9636c3e76e327de58b864af3cc20725c0c64a8c6 /src/core/dbus-unit.c | |
parent | f2561e85982ed25b610cad6253599a051f9ec8e2 (diff) |
core: expose a "Slice" property on Unit objects on the bus
Diffstat (limited to 'src/core/dbus-unit.c')
-rw-r--r-- | src/core/dbus-unit.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c index 575f8eb36a..b7391b5506 100644 --- a/src/core/dbus-unit.c +++ b/src/core/dbus-unit.c @@ -81,6 +81,25 @@ static int bus_unit_append_following(DBusMessageIter *i, const char *property, v return 0; } +static int bus_unit_append_slice(DBusMessageIter *i, const char *property, void *data) { + Unit *u = data; + const char *d; + + assert(i); + assert(property); + assert(u); + + if (UNIT_DEREF(u->slice)) + d = UNIT_DEREF(u->slice)->id; + else + d = ""; + + if (!dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &d)) + return -ENOMEM; + + return 0; +} + static int bus_unit_append_dependencies(DBusMessageIter *i, const char *property, void *data) { Unit *u; Iterator j; @@ -1255,6 +1274,7 @@ const BusProperty bus_unit_properties[] = { { "Id", bus_property_append_string, "s", offsetof(Unit, id), true }, { "Names", bus_unit_append_names, "as", 0 }, { "Following", bus_unit_append_following, "s", 0 }, + { "Slice", bus_unit_append_slice, "s", 0 }, { "Requires", bus_unit_append_dependencies, "as", offsetof(Unit, dependencies[UNIT_REQUIRES]), true }, { "RequiresOverridable", bus_unit_append_dependencies, "as", offsetof(Unit, dependencies[UNIT_REQUIRES_OVERRIDABLE]), true }, { "Requisite", bus_unit_append_dependencies, "as", offsetof(Unit, dependencies[UNIT_REQUISITE]), true }, |