GError *err = NULL;
char *property = NULL;
GVariant *param = NULL;
+
g_variant_iter_init(&value_iter, msg);
while ((g_variant_iter_loop(&value_iter, "{sv}", &property, &val))) {
BT_INFO("Property %s", property);
if (strcasecmp(property, "Discovering") == 0) {
gboolean discovering = FALSE;
+
+ if (_bt_adapter_get_status() != BT_ACTIVATED)
+ continue;
+
g_variant_get(val, "b", &discovering);
- /* Send event to application */
BT_DBG("Discovering %d", discovering);
- if (_bt_adapter_get_status() != BT_ACTIVATED)
- return;
+ /* Send event to application */
if (discovering == TRUE) {
_bt_set_discovery_status(TRUE);
param = g_variant_new("(i)", result);
BLUETOOTH_EVENT_DISCOVERY_STARTED,
param);
} else {
- ret_if(event_id > 0);
+ if (event_id > 0)
+ continue;
adapter_proxy = _bt_get_adapter_proxy();
- ret_if(adapter_proxy == NULL);
+ if (adapter_proxy == NULL)
+ continue;
/* Need to stop searching */
ret = g_dbus_proxy_call_sync(adapter_proxy, "StopDiscovery",
} else if (strcasecmp(property, "LEDiscovering") == 0) {
gboolean le_discovering = FALSE;
+ if (_bt_adapter_get_status() != BT_ACTIVATED ||
+ _bt_adapter_get_le_status() != BT_LE_ACTIVATED)
+ continue;
+
g_variant_get(val, "b", &le_discovering);
BT_DBG("LEDiscovering %d", le_discovering);
- if (_bt_adapter_get_status() != BT_ACTIVATED ||
- _bt_adapter_get_le_status() != BT_LE_ACTIVATED)
- return;
/* Send event to application */
if (le_discovering == TRUE) {
_bt_set_le_scan_status(TRUE);
param = g_variant_new("(i)", result);
_bt_send_event(BT_LE_ADAPTER_EVENT,
- BLUETOOTH_EVENT_LE_DISCOVERY_STARTED,
- param);
+ BLUETOOTH_EVENT_LE_DISCOVERY_STARTED,
+ param);
} else {
- ret_if(le_scan_event_id > 0);
+ if (le_scan_event_id > 0)
+ continue;
adapter_proxy = _bt_get_adapter_proxy();
- ret_if(adapter_proxy == NULL);
+ if (adapter_proxy == NULL)
+ continue;
/* Need to stop searching */
ret = g_dbus_proxy_call_sync(adapter_proxy, "StopLEDiscovery",
- NULL,
- G_DBUS_CALL_FLAGS_NONE,
- DBUS_TIMEOUT, NULL,
- &err);
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ DBUS_TIMEOUT, NULL,
+ &err);
if (err) {
BT_ERR("Dbus Error %s", err->message);
g_clear_error(&err);
le_scan_event_id = g_timeout_add(BT_DISCOVERY_FINISHED_DELAY,
(GSourceFunc)__bt_le_discovery_finished_cb, NULL);
- }
+ }
} else if (strcasecmp(property, "Name") == 0) {
char *name = NULL;
- g_variant_get(val, "s", &name);
+ g_variant_get(val, "&s", &name);
param = g_variant_new("(is)", result, name);
/* Send event to application */
_bt_send_event(BT_ADAPTER_EVENT,
BLUETOOTH_EVENT_LOCAL_NAME_CHANGED,
param);
- g_free(name);
} else if (strcasecmp(property, "Alias") == 0) {
char *alias = NULL;
- g_variant_get(val, "s", &alias);
+ g_variant_get(val, "&s", &alias);
param = g_variant_new("(is)", result, alias);
/* Send event to application */
_bt_send_event(BT_ADAPTER_EVENT,
BLUETOOTH_EVENT_LOCAL_NAME_CHANGED,
param);
- g_free(alias);
} else if (strcasecmp(property, "Discoverable") == 0) {
gboolean discoverable = FALSE;
if (_bt_get_discoverable_timeout_property() > 0) {
int time = 0;
adapter_proxy = _bt_get_adapter_properties_proxy();
- ret_if(adapter_proxy == NULL);
+ if (adapter_proxy == NULL)
+ continue;
ret = g_dbus_proxy_call_sync(adapter_proxy, "Set",
g_variant_new("(ssv)", BT_ADAPTER_INTERFACE,
"DiscoverableTimeout",
_bt_get_discoverable_mode(&mode);
/* Event will be sent by "DiscoverableTimeout" signal */
- if (mode != BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE) {
- g_free(property);
- g_variant_unref(val);
- return;
- }
+ if (mode != BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE)
+ continue;
/* Send event to application */
BT_INFO("[General Discoverable]");
/* Event was already sent by "Discoverable" signal */
if (mode == BLUETOOTH_DISCOVERABLE_MODE_CONNECTABLE ||
- mode == BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE) {
- g_free(property);
- g_variant_unref(val);
- return;
- }
+ mode == BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE)
+ continue;
/* Send event to application */
BT_INFO("[Limited Discoverable (Timeout %u secs)]",
char *name = NULL;
char *value = NULL;
GVariantIter *iter = NULL;
- g_variant_get(val, "as", &iter);
- ret_if(iter == NULL);
+ g_variant_get(val, "as", &iter);
+ if (iter == NULL)
+ continue;
- while (g_variant_iter_loop(iter, "s", &name)) {
- BT_DBG("name = %s", name);
- g_variant_iter_loop(iter, "s", &value);
- BT_DBG("Value = %s", value);
- if (FALSE == _bt_update_le_feature_support(name, value))
- BT_INFO("Fail to update LE feature info");
+ while (g_variant_iter_next(iter, "&s", &name) &&
+ g_variant_iter_next(iter, "&s", &value)) {
+ BT_DBG("name = %s, Value = %s", name, value);
+ if (!_bt_update_le_feature_support(name, value))
+ BT_ERR("Failed to update LE feature (name = %s, value = %s)", name, value);
}
-
g_variant_iter_free(iter);
} else if (strcasecmp(property, "IpspInitStateChanged") == 0) {
gboolean ipsp_initialized = FALSE;
BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED,
param);
} else {
- BT_DBG("property : [%s]", property);
+ BT_DBG("Unhandled property : [%s]", property);
}
}
}