diff options
author | Martin Xu <martin.xu@intel.com> | 2009-09-22 10:32:09 +0800 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-09-22 11:22:27 -0700 |
commit | 3474a9aa28fb56909d6b65d5115d64b48caeb828 (patch) | |
tree | 656d4ddefbc1e8b1894e3d38df77ac431bced9b1 | |
parent | 1fab751e18115a840f213b739e88d26a67653769 (diff) | |
download | connman-3474a9aa28fb56909d6b65d5115d64b48caeb828.tar.gz connman-3474a9aa28fb56909d6b65d5115d64b48caeb828.tar.bz2 connman-3474a9aa28fb56909d6b65d5115d64b48caeb828.zip |
Add internal helper scanning_changed function
-rw-r--r-- | src/device.c | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/src/device.c b/src/device.c index 1d669364..2427c68b 100644 --- a/src/device.c +++ b/src/device.c @@ -1442,6 +1442,30 @@ void __connman_device_cleanup_networks(struct connman_device *device) remove_unavailable_network, NULL); } +static void scanning_changed(struct connman_device *device) +{ + DBusMessage *signal; + DBusMessageIter entry, value; + const char *key = "Scanning"; + + signal = dbus_message_new_signal(device->element.path, + CONNMAN_DEVICE_INTERFACE, "PropertyChanged"); + if (signal == NULL) + return; + + 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, + &device->scanning); + dbus_message_iter_close_container(&entry, &value); + + g_dbus_send_message(connection, signal); +} + /** * connman_device_set_scanning: * @device: device structure @@ -1452,10 +1476,6 @@ void __connman_device_cleanup_networks(struct connman_device *device) int connman_device_set_scanning(struct connman_device *device, connman_bool_t scanning) { - DBusMessage *signal; - DBusMessageIter entry, value; - const char *key = "Scanning"; - DBG("device %p scanning %d", device, scanning); if (!device->driver || !device->driver->scan) @@ -1466,21 +1486,7 @@ int connman_device_set_scanning(struct connman_device *device, device->scanning = scanning; - 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, &scanning); - dbus_message_iter_close_container(&entry, &value); - - g_dbus_send_message(connection, signal); + scanning_changed(device); if (scanning == TRUE) { reset_scan_trigger(device); |