static DBusMessage *create_gatt_dbus_error(DBusMessage *msg, uint8_t att_ecode)
{
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ return g_dbus_create_error(msg, ERROR_INTERFACE ".Failed",
+ "Operation failed with ATT error: 0x%02x",
+ att_ecode);
+#else
switch (att_ecode) {
case BT_ATT_ERROR_READ_NOT_PERMITTED:
return btd_error_not_permitted(msg, "Read not permitted");
}
return NULL;
+#endif
}
static void write_descriptor_cb(struct gatt_db_attribute *attr, int err,
DBusMessage *msg = entry->data;
if (err) {
-#ifndef TIZEN_FEATURE_BLUEZ_MODIFY
reply = err > 0 ? create_gatt_dbus_error(msg, err) :
btd_error_failed(msg, strerror(-err));
-#else
- if (err > 0)
- dbus_message_append_args(reply,
- DBUS_TYPE_BYTE, &err,
- DBUS_TYPE_INVALID);
-#endif
+
goto send_reply;
}
return;
}
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- dbus_message_append_args(reply,
- DBUS_TYPE_BYTE, &err,
- DBUS_TYPE_INVALID);
-#endif
-
if (length >= 0)
message_append_byte_array(reply, value, length);
static const GDBusMethodTable descriptor_methods[] = {
{ GDBUS_ASYNC_METHOD("ReadValue", GDBUS_ARGS({ "options", "a{sv}" }),
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- GDBUS_ARGS({ "value", "yay" }),
-#else
GDBUS_ARGS({ "value", "ay" }),
-#endif
descriptor_read_value) },
{ GDBUS_ASYNC_METHOD("WriteValue", GDBUS_ARGS({ "value", "ay" },
{ "options", "a{sv}" }),
static const GDBusMethodTable characteristic_methods[] = {
{ GDBUS_ASYNC_METHOD("ReadValue", GDBUS_ARGS({ "options", "a{sv}" }),
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- GDBUS_ARGS({ "value", "yay" }),
-#else
GDBUS_ARGS({ "value", "ay" }),
-#endif
characteristic_read_value) },
{ GDBUS_ASYNC_METHOD("WriteValue", GDBUS_ARGS({ "value", "ay" },
{ "options", "a{sv}" }),
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- GDBUS_ARGS({ "result", "y" }),
-#else
NULL,
-#endif
characteristic_write_value) },
{ GDBUS_ASYNC_METHOD("WriteValuebyType",
GDBUS_ARGS({ "type", "y" }, { "value", "ay" },
{ "options", "a{sv}" }),
- GDBUS_ARGS({ "result", "y" }),
+ NULL,
characteristic_write_value_by_type) },
{ GDBUS_ASYNC_METHOD("StartNotify", NULL, NULL,
characteristic_start_notify) },