/* Bonding from remote device */
address = g_malloc0(BT_ADDRESS_STRING_SIZE);
- if (address == NULL)
- return;
g_variant_get(msg, "(&o)", &object_path);
gboolean discovering = FALSE;
if (_bt_adapter_get_status() != BT_ACTIVATED)
- return;
+ continue;
g_variant_get(val, "b", &discovering);
- /* Send event to application */
BT_DBG("Discovering %d", discovering);
+
+ /* 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",
if (_bt_adapter_get_status() != BT_ACTIVATED ||
_bt_adapter_get_le_status() != BT_LE_ACTIVATED)
- return;
+ continue;
g_variant_get(val, "b", &le_discovering);
+ BT_DBG("LEDiscovering %d", le_discovering);
+
/* Send event to application */
if (le_discovering == TRUE) {
_bt_set_le_scan_status(TRUE);
BLUETOOTH_EVENT_LE_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, "StopLEDiscovery",
}
} 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 (discoverable == FALSE) {
if (_bt_get_discoverable_timeout_property() > 0) {
- int time = 0;
+ unsigned 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",
- g_variant_new("i", time)),
+ g_variant_new("u", time)),
G_DBUS_CALL_FLAGS_NONE,
DBUS_TIMEOUT, NULL,
&err);
if (err != NULL) {
- BT_ERR("StopLEDiscovery Failed: %s", err->message);
- g_error_free(err);
+ BT_ERR("Set DiscoverableTimeout Failed: %s", err->message);
+ g_clear_error(&err);
}
if (ret)
g_variant_unref(ret);
mode = BLUETOOTH_DISCOVERABLE_MODE_CONNECTABLE;
/* Send event to application */
- BT_INFO("[Connectable]");
+ BT_INFO("[Non Discoverable]");
param = g_variant_new("(in)", result, mode);
_bt_send_event(BT_ADAPTER_EVENT,
BLUETOOTH_EVENT_DISCOVERABLE_MODE_CHANGED,
/* 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);
- 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");
+ if (iter == NULL)
+ continue;
+
+ 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);
}
- if (iter)
- g_variant_iter_free(iter);
+ 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);
}
}
}