summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPyun DoHyun <dh79.pyun@samsung.com>2019-09-25 05:32:36 +0000
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>2019-09-25 05:32:36 +0000
commita2d71a24c2a990436c387a87e2f3c23514569dab (patch)
tree53660d451efbe86e8333a721c1c43c210930eb1f
parente6561bbb24256d00a4e402c4a5aaa30715c361c5 (diff)
parenta3a5f821e84f00d9fc9fdf52bdeba45fee1ba729 (diff)
downloadbluetooth-accepted/tizen_5.5_unified_mobile_hotfix.tar.gz
bluetooth-accepted/tizen_5.5_unified_mobile_hotfix.tar.bz2
bluetooth-accepted/tizen_5.5_unified_mobile_hotfix.zip
-rw-r--r--include/bluetooth_type_internal.h7
-rw-r--r--src/bluetooth-adapter.c14
-rw-r--r--test/bt_unit_test.c17
3 files changed, 36 insertions, 2 deletions
diff --git a/include/bluetooth_type_internal.h b/include/bluetooth_type_internal.h
index 256263d..2823237 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 bb8c1ab..5d9e469 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 37856c6..ee3c185 100644
--- a/test/bt_unit_test.c
+++ b/test/bt_unit_test.c
@@ -4222,12 +4222,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: {