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);
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,
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}"));
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,
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",
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,
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}"));
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,
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})",