X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Fbt-request-sender.c;h=c31ab18f5d1077f8a804b45a36da6581a998975c;hb=85e3d9d4c69b2891af1523b19da2d9d9704334d6;hp=514cff675a8299c4b1825f32a84ce737eb4e44a4;hpb=96e67a02816e81a31f8a37e188de0f3bbb13429b;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/bt-request-sender.c b/bt-api/bt-request-sender.c index 514cff6..c31ab18 100644 --- a/bt-api/bt-request-sender.c +++ b/bt-api/bt-request-sender.c @@ -30,6 +30,10 @@ #include "bt-event-handler.h" #include "bluetooth-media-control.h" +#ifdef TIZEN_GATT_CLIENT +#include "bluetooth-gatt-client-api.h" +#endif + static GSList *sending_requests; static GDBusProxy *service_gproxy; @@ -40,13 +44,13 @@ static GDBusProxy *__bt_gdbus_init_service_proxy(void) GDBusProxy *proxy; GError *err = NULL; - service_gconn = _bt_gdbus_get_system_gconn(); + service_gconn = _bt_get_system_private_conn(); if (!service_gconn) return NULL; proxy = g_dbus_proxy_new_sync(service_gconn, - G_DBUS_PROXY_FLAGS_NONE, NULL, + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, NULL, BT_DBUS_NAME, BT_SERVICE_PATH, BT_DBUS_NAME, @@ -225,6 +229,22 @@ static void __bt_get_event_info(int service_function, GArray *output, *param_data = &g_array_index(output, bluetooth_device_address_t, 0); break; +#ifdef TIZEN_GATT_CLIENT + case BT_CONNECT_LE: + *event_type = BT_DEVICE_EVENT; + *event = BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED; + ret_if(output == NULL); + *param_data = &g_array_index(output, + bluetooth_device_address_t, 0); + break; + case BT_DISCONNECT_LE: + *event_type = BT_DEVICE_EVENT; + *event = BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED; + ret_if(output == NULL); + *param_data = &g_array_index(output, + bluetooth_device_address_t, 0); + break; +#else case BT_CONNECT_LE: *event_type = BT_DEVICE_EVENT; *event = BLUETOOTH_EVENT_GATT_CONNECTED; @@ -239,6 +259,41 @@ static void __bt_get_event_info(int service_function, GArray *output, *param_data = &g_array_index(output, bluetooth_device_address_t, 0); break; +#endif +#ifdef TIZEN_GATT_CLIENT + case BT_GATT_READ_CHARACTERISTIC: + BT_INFO("BT_GATT_READ_CHARACTERISTIC"); + *event_type = BT_GATT_CLIENT_EVENT; + *event = BLUETOOTH_EVENT_GATT_READ_CHAR; + ret_if(output == NULL); + *param_data = &g_array_index(output, + bluetooth_gatt_client_char_prop_info_t, 0); + break; + case BT_GATT_WRITE_CHARACTERISTIC_VALUE_BY_TYPE: + BT_INFO("BT_GATT_WRITE_CHARACTERISTIC_VALUE_BY_TYPE"); + *event_type = BT_GATT_CLIENT_EVENT; + *event = BLUETOOTH_EVENT_GATT_WRITE_CHAR; + ret_if(output == NULL); + *param_data = &g_array_index(output, + bluetooth_gatt_client_char_prop_info_t, 0); + break; + case BT_GATT_READ_DESCRIPTOR_VALUE: + BT_INFO("BT_GATT_READ_DESCRIPTOR_VALUE"); + *event_type = BT_GATT_CLIENT_EVENT; + *event = BLUETOOTH_EVENT_GATT_READ_DESC; + ret_if(output == NULL); + *param_data = &g_array_index(output, + bluetooth_gatt_client_desc_prop_info_t, 0); + break; + case BT_GATT_WRITE_DESCRIPTOR_VALUE: + BT_INFO("BT_GATT_WRITE_DESCRIPTOR_VALUE"); + *event_type = BT_GATT_CLIENT_EVENT; + *event = BLUETOOTH_EVENT_GATT_WRITE_DESC; + ret_if(output == NULL); + *param_data = &g_array_index(output, + bluetooth_gatt_client_desc_prop_info_t, 0); + break; +#endif case BT_TDS_READ_TRANSPORT_DATA: *event_type = BT_TDS_EVENT; *event = BLUETOOTH_EVENT_TDS_TRANSPORT_DATA_RECEIVED; @@ -436,7 +491,12 @@ static void __send_request_cb(GDBusProxy *proxy, &bt_event, cb_data->user_data); } else if (event_type == BT_AVRCP_EVENT) { ((bluetooth_cb_func_ptr)cb_data->cb)(bt_event.event, - &bt_event, cb_data->user_data); + &bt_event, cb_data->user_data); +#ifdef TIZEN_GATT_CLIENT + } else if (event_type == BT_GATT_CLIENT_EVENT) { + ((gatt_client_cb_func_ptr)cb_data->cb)(bt_event.event, + (gatt_client_event_param_t*)&bt_event, cb_data->user_data); +#endif } else { BT_INFO("Not handled event type : %d", event_type); }