static void write_without_response_setup_cb(DBusMessageIter *iter,
void *user_data)
{
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ DBusMessageIter array;
+#ifndef TIZEN_FEATURE_BLUEZ_MODIFY
+ struct iovec *iov = user_data;
+#else
struct write_without_response_data *write_data = user_data;
struct iovec *iov = write_data->iov;
char dst_addr[18];
char *addr_str = dst_addr;
uint16_t offset = 0;
gboolean response_needed = FALSE;
-#else
- struct iovec *iov = user_data;
-#endif
- DBusMessageIter array;
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
ba2str(&write_data->dst_addr, dst_addr);
dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &addr_str);
dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &write_data->id);
dbus_message_iter_close_container(iter, &array);
}
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
static void send_write_without_response(struct gatt_db_attribute *attrib,
struct bt_att *att,
GDBusProxy *proxy, unsigned int id,
{
struct iovec iov;
uint8_t ecode = 0;
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
struct write_without_response_data write_data;
-#endif
iov.iov_base = (uint8_t *) value;
iov.iov_len = len;
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
write_data.id = id;
write_data.iov = &iov;
get_dst_info(att, &write_data.dst_addr, &write_data.dst_addr_type);
write_without_response_setup_cb,
NULL, &write_data, NULL))
ecode = BT_ATT_ERROR_UNLIKELY;
+
+ gatt_db_attribute_write_result(attrib, id, ecode);
+}
#else
+static void send_write_without_response(struct gatt_db_attribute *attrib,
+ GDBusProxy *proxy, unsigned int id,
+ const uint8_t *value, size_t len)
+{
+ struct iovec iov;
+ uint8_t ecode = 0;
+
+ iov.iov_base = (uint8_t *) value;
+ iov.iov_len = len;
+
if (!g_dbus_proxy_method_call(proxy, "WriteValue",
write_without_response_setup_cb,
NULL, &iov, NULL))
ecode = BT_ATT_ERROR_UNLIKELY;
-#endif
gatt_db_attribute_write_result(attrib, id, ecode);
}
+#endif
static void chrc_write_cb(struct gatt_db_attribute *attrib,
unsigned int id, uint16_t offset,