_bt_hal_convert_device_path_to_address(path, address);
DBG("@@gatt_connected: %d", gatt_connected);
DBG("@@address: %s", address);
- _bt_hal_gatt_connected_state_event(gatt_connected, address);
- _bt_hal_handle_gattc_connected_event(address, gatt_connected);
+ if (_bt_hal_check_gattc_is_existing(address) == TRUE) {
+ DBG("GattConnected event will be handled on CLIENT side");
+ _bt_hal_handle_gattc_connected_event(address, gatt_connected);
+ } else {
+ DBG("GattConnected event will be handled on SERVER side");
+ _bt_hal_gatt_connected_state_event(gatt_connected, address);
+ }
g_free(address);
} else if (!g_strcmp0(key, "Paired")) {
gboolean paired = FALSE;
g_free(conn_info);
}
+gboolean _bt_hal_check_gattc_is_existing(const char *address)
+{
+ bt_bdaddr_t bd_addr;
+ _bt_hal_convert_addr_string_to_type(bd_addr.address, address);
+ if (__bt_find_gatt_client_info(&bd_addr) != NULL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
void _bt_hal_handle_gattc_connected_event(char* address, gboolean gatt_connected)
{
int result = BT_STATUS_SUCCESS;
void _bt_hal_register_gatt_client_handler_cb(handle_stack_msg cb);
void _bt_hal_unregister_gatt_client_handler_cb(void);
+gboolean _bt_hal_check_gattc_is_existing(const char *address);
+
void _bt_hal_handle_gattc_connected_event(char* address, gboolean connected);
void _bt_hal_handle_gattc_value_changed_event(int result, const char *char_handle,
char *char_value, int len);