From 6681ad4d4164d59175064c42f90dd0641bfa66fd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 4 Jul 2010 05:01:36 +0200 Subject: dbus: complete target unit coverage --- src/dbus-target.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src') diff --git a/src/dbus-target.c b/src/dbus-target.c index fb84430b21..c109d9accb 100644 --- a/src/dbus-target.c +++ b/src/dbus-target.c @@ -19,11 +19,14 @@ along with systemd; If not, see . ***/ +#include + #include "dbus-unit.h" #include "dbus-target.h" #define BUS_TARGET_INTERFACE \ " \n" \ + " \n" \ " \n" #define INTROSPECTION \ @@ -37,9 +40,31 @@ const char bus_target_interface[] = BUS_TARGET_INTERFACE; +static int bus_target_append_runlevel(Manager *n, DBusMessageIter *i, const char *property, void *data) { + Target *t = data; + const char *d; + char buf[2]; + + assert(n); + assert(i); + assert(property); + assert(t); + + buf[0] = (char) target_get_runlevel(t); + buf[1] = 0; + + d = buf; + + if (!dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &d)) + return -ENOMEM; + + return 0; +} + DBusHandlerResult bus_target_message_handler(Unit *u, DBusConnection *c, DBusMessage *message) { const BusProperty properties[] = { BUS_UNIT_PROPERTIES, + { "org.freedesktop.systemd1.Target", "SysVRunLevel", bus_target_append_runlevel, "s", u }, { NULL, NULL, NULL, NULL, NULL } }; -- cgit v1.2.3-54-g00ecf