From 1fa07edcd0e77a445700975773db3300f556caf5 Mon Sep 17 00:00:00 2001 From: "injun.yang" Date: Mon, 9 Sep 2019 20:31:30 +0900 Subject: [PATCH] Enhance debug message Change-Id: I1f59a2cd019a1ab9229dcaaf8551474ef80e1cb5 Signed-off-by: injun.yang --- bt-api/bt-adapter-le.c | 6 ++++ bt-api/bt-adapter.c | 4 ++- bt-api/bt-audio.c | 8 +++++ bt-api/bt-common.c | 66 ++++++++++++++++++++++++++++++++-- bt-api/bt-rfcomm-server.c | 4 +-- bt-api/include/bt-common.h | 1 + bt-service/bt-service-adapter-le.c | 6 ++++ bt-service/bt-service-audio.c | 6 ++-- bt-service/bt-service-common.c | 40 +++++++++++++++++++-- bt-service/bt-service-event-receiver.c | 2 +- bt-service/bt-service-event-sender.c | 20 +++++------ bt-service/bt-service-gap-agent.c | 2 +- 12 files changed, 143 insertions(+), 22 deletions(-) diff --git a/bt-api/bt-adapter-le.c b/bt-api/bt-adapter-le.c index 48c1e51..45fab9c 100644 --- a/bt-api/bt-adapter-le.c +++ b/bt-api/bt-adapter-le.c @@ -101,6 +101,7 @@ BT_EXPORT_API int bluetooth_start_le_discovery(void) BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); BT_INFO_C("### Start LE scan"); + _bt_print_api_caller_name(); result = _bt_send_request(BT_BLUEZ_SERVICE, BT_START_LE_DISCOVERY, in_param1, in_param2, in_param3, in_param4, &out_param); @@ -122,6 +123,7 @@ BT_EXPORT_API int bluetooth_stop_le_discovery(void) BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); BT_INFO_C("### Stop LE scan"); + _bt_print_api_caller_name(); result = _bt_send_request(BT_BLUEZ_SERVICE, BT_STOP_LE_DISCOVERY, in_param1, in_param2, in_param3, in_param4, &out_param); @@ -274,6 +276,8 @@ BT_EXPORT_API int bluetooth_set_advertising(int handle, gboolean enable) if (TIZEN_PROFILE_WEARABLE) use_reserved_slot = __bluetooth_is_privileged_process(); + _bt_print_api_caller_name(); + BT_INIT_PARAMS(); BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); @@ -300,6 +304,8 @@ BT_EXPORT_API int bluetooth_set_custom_advertising(int handle, gboolean enable, if (TIZEN_PROFILE_WEARABLE) use_reserved_slot = __bluetooth_is_privileged_process(); + _bt_print_api_caller_name(); + BT_INIT_PARAMS(); BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); diff --git a/bt-api/bt-adapter.c b/bt-api/bt-adapter.c index ef01810..418613f 100644 --- a/bt-api/bt-adapter.c +++ b/bt-api/bt-adapter.c @@ -85,6 +85,7 @@ BT_EXPORT_API int bluetooth_enable_adapter(void) int result; BT_INFO_C("### Enable adapter"); + _bt_print_api_caller_name(); retv_if(bluetooth_check_adapter() == BLUETOOTH_ADAPTER_ENABLED, BLUETOOTH_ERROR_DEVICE_ALREADY_ENABLED); @@ -109,6 +110,7 @@ BT_EXPORT_API int bluetooth_disable_adapter(void) int result; BT_INFO_C("### Disable adapter"); + _bt_print_api_caller_name(); BT_CHECK_ENABLED(return); BT_INIT_PARAMS(); @@ -126,7 +128,7 @@ BT_EXPORT_API int bluetooth_recover_adapter(void) { int result; - BT_INFO("Recover adapter"); + BT_INFO_C("### Recover adapter"); BT_CHECK_ENABLED(return); BT_INIT_PARAMS(); diff --git a/bt-api/bt-audio.c b/bt-api/bt-audio.c index d569f87..1b12414 100644 --- a/bt-api/bt-audio.c +++ b/bt-api/bt-audio.c @@ -258,6 +258,7 @@ BT_EXPORT_API int bluetooth_ag_disconnect(bluetooth_device_address_t *remote_add g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t)); + BT_INFO_C("### Disconnect AG"); result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AG_DISCONNECT, in_param1, in_param2, in_param3, in_param4, user_info->cb, user_info->user_data); @@ -314,6 +315,7 @@ BT_EXPORT_API int bluetooth_av_connect(bluetooth_device_address_t *remote_addres g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t)); + BT_INFO_C("### Connect AV"); result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_CONNECT, in_param1, in_param2, in_param3, in_param4, user_info->cb, user_info->user_data); @@ -357,6 +359,7 @@ BT_EXPORT_API int bluetooth_av_source_connect(bluetooth_device_address_t *remote g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t)); + BT_INFO_C("### Connect AV Source"); result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_SOURCE_CONNECT, in_param1, in_param2, in_param3, in_param4, user_info->cb, user_info->user_data); @@ -388,6 +391,7 @@ BT_EXPORT_API int bluetooth_av_disconnect(bluetooth_device_address_t *remote_add g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t)); + BT_INFO_C("### Disconnect AV"); result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_DISCONNECT, in_param1, in_param2, in_param3, in_param4, user_info->cb, user_info->user_data); @@ -419,6 +423,7 @@ BT_EXPORT_API int bluetooth_av_source_disconnect(bluetooth_device_address_t *rem g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t)); + BT_INFO_C("### Disconnect AV Source"); result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_SOURCE_DISCONNECT, in_param1, in_param2, in_param3, in_param4, user_info->cb, user_info->user_data); @@ -676,6 +681,7 @@ BT_EXPORT_API int bluetooth_hf_disconnect(bluetooth_device_address_t *remote_add g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t)); + BT_INFO_C("### Disconnect HF"); result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_HF_DISCONNECT, in_param1, in_param2, in_param3, in_param4, user_info->cb, user_info->user_data); @@ -1099,6 +1105,8 @@ BT_EXPORT_API int bluetooth_hf_request_call_list_async(void) BT_ERR("Error = %s", err->message); if (strstr(err->message, "No data")) ret = BLUETOOTH_ERROR_NO_DATA; + else if (strstr(err->message, "NotConnected")) + ret = BLUETOOTH_ERROR_NOT_CONNECTED; g_clear_error(&err); } return ret; diff --git a/bt-api/bt-common.c b/bt-api/bt-common.c index c98fb07..6636577 100644 --- a/bt-api/bt-common.c +++ b/bt-api/bt-common.c @@ -1340,6 +1340,32 @@ void _bt_unregister_profile(char *path) return; } +void _bt_print_api_caller_name(void) +{ + FILE *fp = NULL; + char *path = NULL; + char buf[256] = {0, }; + char **str_list = NULL; + + path = g_strdup_printf("/proc/%d/cmdline", getpid()); + fp = fopen(path, "r"); + if (fp == NULL) { + g_free(path); + return; + } + + if (fgets(buf, 256, fp) != NULL) { + str_list = g_strsplit(buf, " ", -1); + if (str_list[0] != '\0') + BT_INFO("Caller : %s", str_list[0]); + g_strfreev(str_list); + } + + fclose(fp); + g_free(path); + return; +} + int _bt_connect_profile(char *address, char *uuid, void *cb, gpointer func_data) { @@ -2000,7 +2026,7 @@ void _bt_set_adapter_internal_status(gboolean enabled) BT_EXPORT_API int bluetooth_get_uuid_name(const char *uuid, char **name) { -#define SHORT_UUID_COUNT 162 +#define SHORT_UUID_COUNT 199 #define LONG_UUID_COUNT 17 int offset = 0; @@ -2101,6 +2127,17 @@ BT_EXPORT_API int bluetooth_get_uuid_name(const char *uuid, char **name) {"181D", "Weight Scale"}, {"181E", "Bond Management"}, {"181F", "Continuous Glucose Monitoring"}, + {"1820", "Internet Protocol Support Service"}, + {"1821", "Indoor Positioning"}, + {"1822", "Pulse Oximeter Service"}, + {"1823", "HTTP Proxy"}, + {"1824", "Transport Discovery"}, + {"1825", "Object Transfer Service"}, + {"1826", "Fitness Machine"}, + {"1827", "Mesh Provisioning Service"}, + {"1828", "Mesh Proxy Service"}, + {"1829", "Reconnection Configuration"}, + {"183A", "Insulin Delivery"}, /* GATT Declarations */ {"2800", "Primary Service Declaration"}, @@ -2182,6 +2219,32 @@ BT_EXPORT_API int bluetooth_get_uuid_name(const char *uuid, char **name) {"2A68", "Navigation"}, {"2A6D", "Pressure"}, {"2A6E", "Temperature"}, + {"2A8E", "Height"}, + {"2A90", "Last Name"}, + {"2A91", "Maximum Recommended Heart Rate"}, + {"2A92", "Resting Heart Rate"}, + {"2A98", "Weight"}, + {"2A9B", "Body Composition Feature"}, + {"2A9C", "Body Composition Measurement"}, + {"2A9D", "Weight Measurement"}, + {"2AA2", "Language"}, + {"2AA4", "Bond Management Control Point"}, + {"2AA5", "Bond Management Features"}, + {"2AA6", "Central Address Resolution"}, + {"2AAD", "Indoor Positioning Configuration"}, + {"2AB5", "Location Name"}, + {"2AB6", "URI"}, + {"2ABC", "TDS Control Point"}, + {"2AC9", "Resolvable Private Address Only"}, + {"2ACC", "Fitness Machine Feature"}, + {"2ACE", "Cross Trainer Data"}, + {"2AD3", "Training Status"}, + {"2AD7", "Supported Heart Rate Range"}, + {"2AD9", "Fitness Machine Control Point"}, + {"2ADA", "Fitness Machine Status"}, + {"2B1D", "RC Feature"}, + {"2B1E", "RC Settings"}, + {"2B1F", "Reconnection Configuration Control Point"}, }; static uuid_name_s long_uuid_name[LONG_UUID_COUNT] = { // List should be sorted by UUID @@ -2236,7 +2299,6 @@ BT_EXPORT_API int bluetooth_get_uuid_name(const char *uuid, char **name) start = p + 1; } - BT_INFO("Unknown uuid : %s", uuid); *name = g_strdup("Unknown"); return BLUETOOTH_ERROR_NONE; } diff --git a/bt-api/bt-rfcomm-server.c b/bt-api/bt-rfcomm-server.c index 64d579d..ee29302 100644 --- a/bt-api/bt-rfcomm-server.c +++ b/bt-api/bt-rfcomm-server.c @@ -488,7 +488,7 @@ void _bt_rfcomm_server_disconnect_all(void) GSList *conn; char addr[20]; - BT_INFO("### Disconnect all RFCOMM server connections"); + BT_INFO(" ### Disconnect all RFCOMM server connections"); for (server = rfcomm_nodes; server; ) { rfcomm_info_t *info = server->data; @@ -1284,7 +1284,7 @@ BT_EXPORT_API int bluetooth_rfcomm_server_disconnect(int socket_fd) char address[20]; - BT_INFO("### Disconnect RFCOMM server"); + BT_INFO(" ### Disconnect RFCOMM server"); if (socket_fd < 0) { BT_ERR("Invalid FD"); return BLUETOOTH_ERROR_INVALID_PARAM; diff --git a/bt-api/include/bt-common.h b/bt-api/include/bt-common.h index 75a7a13..b4873d9 100644 --- a/bt-api/include/bt-common.h +++ b/bt-api/include/bt-common.h @@ -345,6 +345,7 @@ typedef struct { int _bt_get_adapter_path(GDBusConnection *conn, char *path); char *_bt_get_device_object_path(char *address); +void _bt_print_api_caller_name(void); int _bt_connect_profile(char *address, char *uuid, void *cb, gpointer func_data); int _bt_disconnect_profile(char *address, char *uuid, void *cb, diff --git a/bt-service/bt-service-adapter-le.c b/bt-service/bt-service-adapter-le.c index 4264ee4..7566c48 100644 --- a/bt-service/bt-service-adapter-le.c +++ b/bt-service/bt-service-adapter-le.c @@ -415,6 +415,7 @@ int _bt_set_advertising(const char *sender, int adv_handle, gboolean enable, gbo &error); if (error) { + BT_INFO("SetAdvertising %d, slot_id %d", enable, slot_id); BT_ERR("SetAdvertising Fail: %s", error->message); g_clear_error(&error); return BLUETOOTH_ERROR_INTERNAL; @@ -1554,6 +1555,11 @@ int _bt_stop_le_scan(const char *sender) ret = g_dbus_proxy_call_sync(proxy, "StopLEDiscovery", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); + if (error) { + BT_ERR("StopLEDiscovery Fail: %s", error->message); + g_clear_error(&error); + } + if (ret == NULL) { BT_ERR("LE Scan stop failed"); return BLUETOOTH_ERROR_INTERNAL; diff --git a/bt-service/bt-service-audio.c b/bt-service/bt-service-audio.c index ff76b58..7dd091c 100644 --- a/bt-service/bt-service-audio.c +++ b/bt-service/bt-service-audio.c @@ -1166,7 +1166,7 @@ static int __bt_auto_connect_alarm_cb(alarm_id_t alarm_id, void* user_param) BT_DBG("result [%d]", result); if (auto_connect_timer.retry_count <= 0) { - BT_INFO("Stopping Auto connect retry"); + BT_INFO(" ### Stopping Auto connect retry"); auto_connect_timer.alarm_id = 0; } else { result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_LINKLOSS, @@ -1210,7 +1210,7 @@ int _bt_audio_start_auto_connect(gboolean linkloss_flag) BT_AUTO_CONNECT_TIMEOUT_AFTER_LINKLOSS; if (linkloss_flag) { - BT_INFO("Start auto connection after linkloss"); + BT_INFO(" ### Start auto connection after linkloss"); result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_LINKLOSS, __bt_auto_connect_alarm_cb, NULL, &alarm_id); if (result != BLUETOOTH_ERROR_NONE) @@ -1219,7 +1219,7 @@ int _bt_audio_start_auto_connect(gboolean linkloss_flag) auto_connect_timer.alarm_id = alarm_id; } else { - BT_INFO("Start auto connection after BT activated"); + BT_INFO(" ### Start auto connection after BT activated"); result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_BT_ACTIVATED, __bt_auto_connect_alarm_cb, NULL, &alarm_id); if (result == BLUETOOTH_ERROR_NONE) diff --git a/bt-service/bt-service-common.c b/bt-service/bt-service-common.c index dd57eda..5575ed9 100644 --- a/bt-service/bt-service-common.c +++ b/bt-service/bt-service-common.c @@ -697,7 +697,7 @@ char *_bt_get_profile_uuid128(bt_profile_type_t profile_type) const char *_bt_convert_uuid_to_string(const char *uuid) { -#define SHORT_UUID_COUNT 162 +#define SHORT_UUID_COUNT 199 #define LONG_UUID_COUNT 17 if (!uuid) @@ -801,6 +801,17 @@ const char *_bt_convert_uuid_to_string(const char *uuid) {"181D", "Weight Scale"}, {"181E", "Bond Management"}, {"181F", "Continuous Glucose Monitoring"}, + {"1820", "Internet Protocol Support Service"}, + {"1821", "Indoor Positioning"}, + {"1822", "Pulse Oximeter Service"}, + {"1823", "HTTP Proxy"}, + {"1824", "Transport Discovery"}, + {"1825", "Object Transfer Service"}, + {"1826", "Fitness Machine"}, + {"1827", "Mesh Provisioning Service"}, + {"1828", "Mesh Proxy Service"}, + {"1829", "Reconnection Configuration"}, + {"183A", "Insulin Delivery"}, /* GATT Declarations */ {"2800", "Primary Service Declaration"}, @@ -882,6 +893,32 @@ const char *_bt_convert_uuid_to_string(const char *uuid) {"2A68", "Navigation"}, {"2A6D", "Pressure"}, {"2A6E", "Temperature"}, + {"2A8E", "Height"}, + {"2A90", "Last Name"}, + {"2A91", "Maximum Recommended Heart Rate"}, + {"2A92", "Resting Heart Rate"}, + {"2A98", "Weight"}, + {"2A9B", "Body Composition Feature"}, + {"2A9C", "Body Composition Measurement"}, + {"2A9D", "Weight Measurement"}, + {"2AA2", "Language"}, + {"2AA4", "Bond Management Control Point"}, + {"2AA5", "Bond Management Features"}, + {"2AA6", "Central Address Resolution"}, + {"2AAD", "Indoor Positioning Configuration"}, + {"2AB5", "Location Name"}, + {"2AB6", "URI"}, + {"2ABC", "TDS Control Point"}, + {"2AC9", "Resolvable Private Address Only"}, + {"2ACC", "Fitness Machine Feature"}, + {"2ACE", "Cross Trainer Data"}, + {"2AD3", "Training Status"}, + {"2AD7", "Supported Heart Rate Range"}, + {"2AD9", "Fitness Machine Control Point"}, + {"2ADA", "Fitness Machine Status"}, + {"2B1D", "RC Feature"}, + {"2B1E", "RC Settings"}, + {"2B1F", "Reconnection Configuration Control Point"}, }; static uuid_name_s long_uuid_name[LONG_UUID_COUNT] = { // List should be sorted by UUID @@ -934,7 +971,6 @@ const char *_bt_convert_uuid_to_string(const char *uuid) start = p + 1; } - BT_INFO("Unknown uuid : %s", uuid); return unknown_name; } diff --git a/bt-service/bt-service-event-receiver.c b/bt-service/bt-service-event-receiver.c index 0fbe2b1..c8a0731 100644 --- a/bt-service/bt-service-event-receiver.c +++ b/bt-service/bt-service-event-receiver.c @@ -1084,7 +1084,7 @@ static void __bt_device_property_changed_event(GVariant *msg, const char *path) char secure_addr[BT_ADDRESS_STRING_SIZE] = { 0 }; _bt_convert_addr_string_to_secure_string(secure_addr, address); - BT_INFO("### Paired: %s", secure_addr); + BT_INFO(" ### Paired: %s", secure_addr); __bt_update_remote_cache_devinfo(address, TRUE); GVariant *uuids = NULL; diff --git a/bt-service/bt-service-event-sender.c b/bt-service/bt-service-event-sender.c index bcdc9ca..4dc4691 100644 --- a/bt-service/bt-service-event-sender.c +++ b/bt-service/bt-service-event-sender.c @@ -218,27 +218,27 @@ int _bt_send_event(int event_type, int event, GVariant *param) break; case BLUETOOTH_HID_CONNECTED: signal = BT_INPUT_CONNECTED; - BT_INFO_C("Connected [HID]"); + BT_INFO_C("### Connected [HID]"); break; case BLUETOOTH_HID_DISCONNECTED: signal = BT_INPUT_DISCONNECTED; - BT_INFO_C("Disconnected [HID]"); + BT_INFO_C("### Disconnected [HID]"); break; case BLUETOOTH_HID_DEVICE_CONNECTED: signal = BT_INPUT_HID_DEVICE_CONNECTED; - BT_INFO_C("Connected [HIDDevice]"); + BT_INFO_C("### Connected [HID Device]"); break; case BLUETOOTH_HID_DEVICE_DISCONNECTED: signal = BT_INPUT_HID_DEVICE_DISCONNECTED; - BT_INFO_C("Disconnected [HIDDevice]"); + BT_INFO_C("### Disconnected [HID Device]"); break; case BLUETOOTH_PBAP_CONNECTED: signal = BT_PBAP_CONNECTED; - BT_INFO_C("Connected [PBAP Client]"); + BT_INFO_C("### Connected [PBAP Client]"); break; case BLUETOOTH_PBAP_DISCONNECTED: signal = BT_PBAP_DISCONNECTED; - BT_INFO_C("Disconnected [PBAP Client]"); + BT_INFO_C("### Disconnected [PBAP Client]"); break; case BLUETOOTH_PBAP_PHONEBOOK_SIZE: signal = BT_PBAP_PHONEBOOK_SIZE; @@ -265,19 +265,19 @@ int _bt_send_event(int event_type, int event, GVariant *param) break; case BLUETOOTH_EVENT_AV_CONNECTED: signal = BT_STEREO_HEADSET_CONNECTED; - BT_INFO_C("Connected [A2DP]"); + BT_INFO_C("### Connected [A2DP]"); break; case BLUETOOTH_EVENT_AV_DISCONNECTED: signal = BT_STEREO_HEADSET_DISCONNECTED; - BT_INFO_C("Disconnected [A2DP]"); + BT_INFO_C("### Disconnected [A2DP]"); break; case BLUETOOTH_EVENT_AV_SOURCE_CONNECTED: signal = BT_A2DP_SOURCE_CONNECTED; - BT_INFO_C("Connected [A2DP Source]"); + BT_INFO_C("### Connected [A2DP Source]"); break; case BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED: signal = BT_A2DP_SOURCE_DISCONNECTED; - BT_INFO_C("Disconnected [A2DP Source]"); + BT_INFO_C("### Disconnected [A2DP Source]"); break; case BLUETOOTH_EVENT_AG_AUDIO_CONNECTED: signal = BT_SCO_CONNECTED; diff --git a/bt-service/bt-service-gap-agent.c b/bt-service/bt-service-gap-agent.c index a747ad5..dccf480 100644 --- a/bt-service/bt-service-gap-agent.c +++ b/bt-service/bt-service-gap-agent.c @@ -1114,8 +1114,8 @@ void _gap_agent_setup_dbus(GapAgentPrivate *agent, GAP_AGENT_FUNC_CB *func_cb, priv->busname = NULL; } else { priv->busname = g_strdup(g_dbus_proxy_get_name(proxy)); - g_object_unref(proxy); BT_DBG("Busname: %s", priv->busname); + g_object_unref(proxy); } } -- 2.7.4