From 6f9e7e27fd0050af9515424154c30d581902c960 Mon Sep 17 00:00:00 2001 From: Seungyoun Ju Date: Wed, 7 Dec 2016 17:32:48 +0900 Subject: [PATCH] TIZEN_FEATURE_BLUEZ_MODIFY define is missing in GATT Server [Model] COMMON [BinType] AP [Customer] OPEN [Issue#] N/A [Request] Internal [Occurrence Version] N/A [Problem] Tizen change should be in TIZEN_FEATURE_BLUEZ_MODIFY. But some changes are not in that define. [Cause & Measure] Define statement is missing [Checking Method] N/A [Team] Basic connection [Developer] Seungyoun Ju [Solution company] Samsung [Change Type] Specification change Change-Id: I31f6f9f9de75b3144ec21f837b3df8fbcfc38c1b --- src/gatt-database.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/gatt-database.c b/src/gatt-database.c index 46be5a8..c734edb 100644 --- a/src/gatt-database.c +++ b/src/gatt-database.c @@ -2508,19 +2508,17 @@ struct write_without_response_data { 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); @@ -2534,6 +2532,7 @@ static void write_without_response_setup_cb(DBusMessageIter *iter, 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, @@ -2541,14 +2540,11 @@ static void send_write_without_response(struct gatt_db_attribute *attrib, { 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); @@ -2557,15 +2553,28 @@ static void send_write_without_response(struct gatt_db_attribute *attrib, 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, -- 2.7.4