From: Sudipto Date: Fri, 20 Sep 2019 16:10:09 +0000 (+0530) Subject: App wise data transaction details X-Git-Tag: submit/tizen/20191007.001051^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a3a5f821e84f00d9fc9fdf52bdeba45fee1ba729;p=platform%2Fcore%2Fapi%2Fbluetooth.git App wise data transaction details Providing details of data transaction by apps in a particular bluetooth session Change-Id: Ia6e7f31784bd40186ec6f0374e0d5b1583bbec72 Signed-off-by: Sudipto --- diff --git a/include/bluetooth_type_internal.h b/include/bluetooth_type_internal.h index 333414d..259e1d9 100644 --- a/include/bluetooth_type_internal.h +++ b/include/bluetooth_type_internal.h @@ -290,6 +290,13 @@ typedef struct { GSList *atm_list; } bt_battery_info_s; +typedef struct { + uid_t uid; + pid_t pid; + uint16_t rx_bytes; + uint16_t tx_bytes; +} bt_battery_app_info_s; + typedef bt_map_client_list_folders_filter_s *bt_map_client_list_folders_filter_h; typedef bt_map_client_list_messages_filter_s *bt_map_client_list_messages_filter_h; diff --git a/src/bluetooth-adapter.c b/src/bluetooth-adapter.c index b314830..1c3b588 100644 --- a/src/bluetooth-adapter.c +++ b/src/bluetooth-adapter.c @@ -69,6 +69,8 @@ int bt_adapter_read_battery_info(bt_battery_info_s *battery_data) BT_CHECK_SUPPORTED_FEATURE(BT_FEATURE_COMMON); BT_CHECK_INIT_STATUS(); BT_CHECK_INPUT_PARAMETER(battery_data); + memset(&data, 0, sizeof(bt_battery_data)); + error_code = _bt_get_error_code(bluetooth_read_battery_data(&data)); if (error_code != BT_ERROR_NONE) { /* LCOV_EXCL_LINE */ @@ -81,10 +83,22 @@ int bt_adapter_read_battery_info(bt_battery_info_s *battery_data) battery_data->session_end_time = data.session_end_time; battery_data->session_scan_time = data.session_scan_time; battery_data->session_connected_time = data.session_connected_time; + battery_data->atm_list = data.atm_list; BT_DBG("Battery Data in application layer: %ld %ld %d %d", battery_data->session_start_time, battery_data->session_end_time, battery_data->session_scan_time, battery_data->session_connected_time); + + if(data.atm_list == NULL) { + BT_DBG("No data transaction in this session"); + return error_code; + } + + BT_DBG("App-wise data transaction details:"); + for (GSList *l = battery_data->atm_list; l != NULL; l = g_slist_next(l)) { + bt_battery_app_info_s *t = (bt_battery_app_info_s *)(l->data); + BT_DBG("%ld %ld %d %d", (long int)(t->uid), (long int)(t->pid), t->rx_bytes, t->tx_bytes); + } return error_code; } diff --git a/test/bt_unit_test.c b/test/bt_unit_test.c index 1676782..6388213 100644 --- a/test/bt_unit_test.c +++ b/test/bt_unit_test.c @@ -4187,12 +4187,25 @@ int test_input_callback(void *data) } case BT_UNIT_TEST_FUNCTION_ADAPTER_READ_BATTERY_INFO: { bt_battery_info_s data; + memset(&data, 0, sizeof(bt_battery_info_s)); ret = bt_adapter_read_battery_info(&data); - if (ret < 0) + if (ret < 0) { TC_PRT("returns %s\n", __bt_get_error_message(ret)); - else + } else { TC_PRT("Battery data: %ld %ld %d %d", data.session_start_time, data.session_end_time, data.session_scan_time, data.session_connected_time); + if(data.atm_list == NULL) { + TC_PRT("No data transaction in this session"); + break; + } + + TC_PRT("Displaying app-wise transaction details"); + for (GSList *l = data.atm_list; l != NULL; l = g_slist_next(l)) { + bt_battery_app_info_s *t = (bt_battery_app_info_s *)(l->data); + TC_PRT("uid: %ld, pid: %ld, received bytes: %d, sent bytes: %d", + (long int)(t->uid), (long int)(t->pid), t->rx_bytes, t->tx_bytes); + } + } break; } case BT_UNIT_TEST_FUNCTION_ADAPTER_SET_REMOTE_OOB_EXT_DATA: {