Enhance debug message
[platform/core/connectivity/bluetooth-frwk.git] / bt-api / bt-gatt-client.c
index ba8f797..555a266 100644 (file)
@@ -136,9 +136,8 @@ BT_EXPORT_API int bluetooth_gatt_set_service_change_watcher(
                        return BLUETOOTH_ERROR_NONE;
                }
 
-               if (service_monitor_list == NULL) {
+               if (service_monitor_list == NULL)
                        _bt_register_manager_subscribe_signal(TRUE);
-               }
 
                addr = g_malloc0(sizeof(bluetooth_device_address_t));
                memcpy(addr, address, sizeof(bluetooth_device_address_t));
@@ -893,13 +892,13 @@ BT_EXPORT_API int bluetooth_gatt_get_char_descriptor_property(
        return BLUETOOTH_ERROR_NONE;
 }
 
-static int __bluetooth_get_att_error_code(GError *error)
+static int __bluetooth_get_att_error_code(GError *error, char *handle)
 {
        int att_ecode = 0;
        int len;
        char *str = NULL;
 
-       BT_ERR("Error : %s", error->message);
+       BT_ERR("Error : %s [%s]", error->message, handle + 15);
        str = g_strrstr(error->message, "ATT error: 0x");
        if (str) {
                len = strlen(str);
@@ -957,18 +956,19 @@ static void __bluetooth_internal_read_cb(GObject *source_object,
 
        user_info = _bt_get_user_data(BT_COMMON);
        if (!user_info) {
-               g_free(resp_data);
                if (error) {
-                       BT_ERR("Error : %s", error->message);
+                       BT_ERR("Error : %s [%s]", error->message, resp_data->handle + 15);
                        g_clear_error(&error);
+                       g_free(resp_data);
                        return;
                }
+               g_free(resp_data);
                g_variant_unref(value);
                return;
        }
 
        if (error) {
-               att_ecode = __bluetooth_get_att_error_code(error);
+               att_ecode = __bluetooth_get_att_error_code(error, resp_data->handle);
                g_clear_error(&error);
 
                _bt_common_event_cb(BLUETOOTH_EVENT_GATT_READ_CHAR,
@@ -1017,6 +1017,7 @@ BT_EXPORT_API int bluetooth_gatt_read_characteristic_value(const char *chr,
 
        resp_data = g_malloc0(sizeof(bt_gatt_resp_data_t));
        resp_data->user_data = user_data;
+       resp_data->handle = (char *)chr;
 
        builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
 
@@ -1053,18 +1054,19 @@ static void __bluetooth_internal_write_cb(GObject *source_object,
 
        user_info = _bt_get_user_data(BT_COMMON);
        if (!user_info) {
-               g_free(resp_data);
                if (error) {
-                       BT_ERR("Error : %s", error->message);
+                       BT_ERR("Error : %s [%s]", error->message, resp_data->handle + 15);
                        g_clear_error(&error);
+                       g_free(resp_data);
                        return;
                }
+               g_free(resp_data);
                g_variant_unref(value);
                return;
        }
 
        if (error) {
-               att_ecode = __bluetooth_get_att_error_code(error);
+               att_ecode = __bluetooth_get_att_error_code(error, resp_data->handle);
                g_clear_error(&error);
 
                _bt_common_event_cb(BLUETOOTH_EVENT_GATT_WRITE_CHAR,
@@ -1188,6 +1190,7 @@ BT_EXPORT_API int bluetooth_gatt_set_characteristics_value_by_type(
 
        resp_data = g_malloc0(sizeof(bt_gatt_resp_data_t));
        resp_data->user_data = user_data;
+       resp_data->handle = (char *)chr;
 
        g_dbus_connection_call(conn, BT_BLUEZ_NAME, chr, GATT_CHAR_INTERFACE,
                        "WriteValuebyType",
@@ -1490,18 +1493,19 @@ static void __bluetooth_internal_read_desc_cb(GObject *source_object,
 
        user_info = _bt_get_user_data(BT_COMMON);
        if (!user_info) {
-               g_free(resp_data);
                if (error) {
-                       BT_ERR("Error : %s", error->message);
+                       BT_ERR("Error : %s [%s]", error->message, resp_data->handle + 15);
                        g_clear_error(&error);
+                       g_free(resp_data);
                        return;
                }
+               g_free(resp_data);
                g_variant_unref(value);
                return;
        }
 
        if (error) {
-               att_ecode = __bluetooth_get_att_error_code(error);
+               att_ecode = __bluetooth_get_att_error_code(error, resp_data->handle);
                g_clear_error(&error);
 
                _bt_common_event_cb(BLUETOOTH_EVENT_GATT_READ_DESC,
@@ -1553,6 +1557,7 @@ BT_EXPORT_API int bluetooth_gatt_read_descriptor_value(const char *desc,
 
        resp_data = g_malloc0(sizeof(bt_gatt_resp_data_t));
        resp_data->user_data = user_data;
+       resp_data->handle = (char *)desc;
 
        builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
 
@@ -1592,18 +1597,19 @@ static void __bluetooth_internal_write_desc_cb(GObject *source_object,
 
        user_info = _bt_get_user_data(BT_COMMON);
        if (!user_info) {
-               g_free(resp_data);
                if (error) {
-                       BT_ERR("Error : %s", error->message);
+                       BT_ERR("Error : %s [%s]", error->message, resp_data->handle + 15);
                        g_clear_error(&error);
+                       g_free(resp_data);
                        return;
                }
+               g_free(resp_data);
                g_variant_unref(value);
                return;
        }
 
        if (error) {
-               att_ecode = __bluetooth_get_att_error_code(error);
+               att_ecode = __bluetooth_get_att_error_code(error, resp_data->handle);
                g_clear_error(&error);
 
                _bt_common_event_cb(BLUETOOTH_EVENT_GATT_WRITE_DESC,
@@ -1663,6 +1669,7 @@ BT_EXPORT_API int bluetooth_gatt_write_descriptor_value(const char *desc,
 
        resp_data = g_malloc0(sizeof(bt_gatt_resp_data_t));
        resp_data->user_data = user_data;
+       resp_data->handle = (char *)desc;
 
        g_dbus_connection_call(conn, BT_BLUEZ_NAME, desc, GATT_DESC_INTERFACE,
                        "WriteValue", g_variant_new("(@ay@a{sv})",