case BLUETOOTH_EVENT_GATT_SERVER_CONNECTED: {
const GSList *server_list = NULL;
bt_gatt_server_s *server = NULL;
-
bt_gatt_connection_state_changed_cb cb = NULL;
- server_list = _bt_gatt_get_server_list();
- if (!server_list)
- break;
-
- server = (bt_gatt_server_s *)server_list->data;
-
BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_CONNECTED");
_bt_convert_address_to_string(&device_addr,
(bluetooth_device_address_t *)(param->param_data));
+ /* This callback is from bt_gatt_set_connection_state_changed_cb */
+ if (event_index >= 0)
+ cb = bt_event_slot_container[event_index].callback;
+ if (cb)
+ cb(_bt_get_error_code(param->result), TRUE, device_addr,
+ bt_event_slot_container[event_index].user_data);
+
+ /* This callback is from bt_gatt_server_set_connection_state_changed_cb */
+ server_list = _bt_gatt_get_server_list();
+ if (!server_list)
+ break;
+ server = (bt_gatt_server_s *)server_list->data;
if (server && server->server_connection_change_cb)
server->server_connection_change_cb(_bt_get_error_code(param->result), TRUE, device_addr,
server->connection_change_user_data);
- else {
- if (event_index >= 0)
- cb = bt_event_slot_container[event_index].callback;
- if (cb)
- cb(_bt_get_error_code(param->result), TRUE, device_addr,
- bt_event_slot_container[event_index].user_data);
- }
-
g_free(device_addr);
device_addr = NULL;
break;
case BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED: {
const GSList *server_list = NULL;
bt_gatt_server_s *server = NULL;
-
bt_gatt_connection_state_changed_cb cb = NULL;
- server_list = _bt_gatt_get_server_list();
- if (!server_list)
- break;
-
- server = (bt_gatt_server_s *)server_list->data;
-
BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED");
_bt_convert_address_to_string(&device_addr,
(bluetooth_device_address_t *)(param->param_data));
+ /* This callback is from bt_gatt_set_connection_state_changed_cb */
+ if (event_index >= 0)
+ cb = bt_event_slot_container[event_index].callback;
+ if (cb)
+ cb(_bt_get_error_code(param->result), FALSE, device_addr,
+ bt_event_slot_container[event_index].user_data);
+
+ /* This callback is from bt_gatt_server_set_connection_state_changed_cb */
+ server_list = _bt_gatt_get_server_list();
+ if (!server_list)
+ break;
+ server = (bt_gatt_server_s *)server_list->data;
if (server && server->server_connection_change_cb)
server->server_connection_change_cb(_bt_get_error_code(param->result), FALSE, device_addr,
server->connection_change_user_data);
- else {
- if (event_index >= 0)
- cb = bt_event_slot_container[event_index].callback;
- if (cb)
- cb(_bt_get_error_code(param->result), FALSE, device_addr,
- bt_event_slot_container[event_index].user_data);
- }
g_free(device_addr);
device_addr = NULL;
/* TDS Seeker */
_bt_tds_update_seeker_connection_state_changed(param->result, device_addr, TRUE);
+ /* This callback is from bt_gatt_set_connection_state_changed_cb */
+ if (event_index >= 0)
+ cb = bt_event_slot_container[event_index].callback;
+ if (cb)
+ cb(_bt_get_error_code(param->result), TRUE, device_addr,
+ bt_event_slot_container[event_index].user_data);
+
+ /* This callback is from bt_gatt_client_connect */
if (client_s && client_s->client_connection_change_cb)
client_s->client_connection_change_cb(_bt_get_error_code(param->result), TRUE, device_addr,
client_s->connection_change_user_data);
- else {
- if (event_index >= 0)
- cb = bt_event_slot_container[event_index].callback;
- if (cb)
- cb(_bt_get_error_code(param->result), TRUE, device_addr,
- bt_event_slot_container[event_index].user_data);
- }
+
g_free(device_addr);
device_addr = NULL;
break;
client_s->services_discovered = false;
}
-
/*HRP Server*/
__bt_hrp_le_connection_state_changed_cb(param->result, device_addr, FALSE);
/* TDS Seeker */
_bt_tds_update_seeker_connection_state_changed(param->result, device_addr, FALSE);
+ // TOOD: now this logic is required. but in the future, we need to remove
/* Handle Client disconnection event in case of Server */
if (server && server->server_connection_change_cb)
server->server_connection_change_cb(_bt_get_error_code(param->result), FALSE, device_addr,
server->connection_change_user_data);
+ /* This callback is from bt_gatt_set_connection_state_changed_cb */
+ if (event_index >= 0)
+ cb = bt_event_slot_container[event_index].callback;
+ if (cb)
+ cb(_bt_get_error_code(param->result), FALSE, device_addr,
+ bt_event_slot_container[event_index].user_data);
+
+ /* This callback is from bt_gatt_client_connect */
if (client_s && client_s->client_connection_change_cb) {
client_s->client_connection_change_cb(_bt_get_error_code(param->result), FALSE, device_addr,
client_s->connection_change_user_data);
client_s->client_connection_change_cb = NULL;
client_s->connection_change_user_data = NULL;
}
- else {
- if (event_index >= 0)
- cb = bt_event_slot_container[event_index].callback;
- if (cb)
- cb(_bt_get_error_code(param->result), FALSE, device_addr,
- bt_event_slot_container[event_index].user_data);
- }
g_free(device_addr);
device_addr = NULL;