From 37b70174dc7f7e8e048a95bca7ecd9e102d14038 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 24 Dec 2008 11:56:08 +0100 Subject: [PATCH] Add support for changing device power state --- src/device.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/device.c b/src/device.c index d39f18c..23fd1b1 100644 --- a/src/device.c +++ b/src/device.c @@ -241,6 +241,10 @@ void connman_device_driver_unregister(struct connman_device_driver *driver) int connman_device_set_powered(struct connman_device *device, gboolean powered) { + DBusMessage *signal; + DBusMessageIter entry, value; + const char *key = "Powered"; + DBG("driver %p powered %d", device, powered); if (device->powered == powered) @@ -248,6 +252,22 @@ int connman_device_set_powered(struct connman_device *device, device->powered = powered; + signal = dbus_message_new_signal(device->element->path, + CONNMAN_DEVICE_INTERFACE, "PropertyChanged"); + if (signal == NULL) + return 0; + + dbus_message_iter_init_append(signal, &entry); + + dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); + + dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, + DBUS_TYPE_BOOLEAN_AS_STRING, &value); + dbus_message_iter_append_basic(&value, DBUS_TYPE_BOOLEAN, &powered); + dbus_message_iter_close_container(&entry, &value); + + g_dbus_send_message(connection, signal); + return 0; } -- 2.7.4