]> err.no Git - systemd/commitdiff
dbus: export ControlGroupPersistent field on the bus again
authorLennart Poettering <lennart@poettering.net>
Sat, 21 Jan 2012 00:47:53 +0000 (01:47 +0100)
committerLennart Poettering <lennart@poettering.net>
Sat, 21 Jan 2012 00:47:53 +0000 (01:47 +0100)
src/dbus-common.c
src/dbus-common.h
src/dbus-execute.c
src/dbus-execute.h

index 50daedcf58bc0d551930657e184a8b57cdae6b8f..a0723699889e87bb920eea23bdf829cb3f0202ef 100644 (file)
@@ -533,6 +533,22 @@ int bus_property_append_bool(DBusMessageIter *i, const char *property, void *dat
         return 0;
 }
 
+int bus_property_append_tristate_false(DBusMessageIter *i, const char *property, void *data) {
+        int *b = data;
+        dbus_bool_t db;
+
+        assert(i);
+        assert(property);
+        assert(b);
+
+        db = *b > 0;
+
+        if (!dbus_message_iter_append_basic(i, DBUS_TYPE_BOOLEAN, &db))
+                return -ENOMEM;
+
+        return 0;
+}
+
 int bus_property_append_uint64(DBusMessageIter *i, const char *property, void *data) {
         assert(i);
         assert(property);
index c3499b999f622b81edde3a0efa71b528f5cd5044..15811a7e50dc5e8a0dd62e84442ba1c801569512 100644 (file)
@@ -128,6 +128,7 @@ DBusHandlerResult bus_default_message_handler(
 int bus_property_append_string(DBusMessageIter *i, const char *property, void *data);
 int bus_property_append_strv(DBusMessageIter *i, const char *property, void *data);
 int bus_property_append_bool(DBusMessageIter *i, const char *property, void *data);
+int bus_property_append_tristate_false(DBusMessageIter *i, const char *property, void *data);
 int bus_property_append_int32(DBusMessageIter *i, const char *property, void *data);
 int bus_property_append_uint32(DBusMessageIter *i, const char *property, void *data);
 int bus_property_append_uint64(DBusMessageIter *i, const char *property, void *data);
index db7cc2f1da5a9f8ccd3505dd9784e47d584bae7a..c5abcf674a73141828561f86e8afb4ce94ea7e74 100644 (file)
@@ -416,6 +416,6 @@ const BusProperty bus_exec_context_properties[] = {
         { "KillSignal",               bus_property_append_int,               "i", offsetof(ExecContext, kill_signal)                  },
         { "UtmpIdentifier",           bus_property_append_string,            "s", offsetof(ExecContext, utmp_id),                true },
         { "ControlGroupModify",       bus_property_append_bool,              "b", offsetof(ExecContext, control_group_modify)         },
-/* FIXME{ "ControlGroupPersistent",   bus_property_append_bool,              "b", offsetof(ExecContext, control_group_persistent)     },*/
+        { "ControlGroupPersistent",   bus_property_append_tristate_false,    "b", offsetof(ExecContext, control_group_persistent)     },
         { NULL, }
 };
index 4626acbd31e8d2b3aea089229d60eeede04c0977..0aea99e33356ed99a9bca1ba454463d82dc1708a 100644 (file)
@@ -94,6 +94,7 @@
         "  <property name=\"KillSignal\" type=\"i\" access=\"read\"/>\n" \
         "  <property name=\"UtmpIdentifier\" type=\"s\" access=\"read\"/>\n" \
         "  <property name=\"ControlGroupModify\" type=\"b\" access=\"read\"/>\n" \
+        "  <property name=\"ControlGroupPersistent\" type=\"b\" access=\"read\"/>\n" \
         "  <property name=\"PrivateNetwork\" type=\"b\" access=\"read\"/>\n"
 
 #define BUS_EXEC_COMMAND_INTERFACE(name)                             \