diff options
author | Szymon Janc <szymon.janc@tieto.com> | 2015-03-11 14:30:10 +0100 |
---|---|---|
committer | Szymon Janc <szymon.janc@tieto.com> | 2015-03-12 15:48:22 +0100 |
commit | d95746a9f699f89545fd7f91ae15188c56303c6e (patch) | |
tree | aaf8d9415ddd98af9c7e456563b3b97c8ba2d8c6 /android/gatt.c | |
parent | 183c07ca92aae0da45c47e60d7a96c181494c523 (diff) | |
download | bluez-d95746a9f699f89545fd7f91ae15188c56303c6e.tar.gz |
android/gatt: Add suport for server MTU changed callback
When MTU is exchange notification is send with updated MTU.
For BR/EDR notification is always send after connection.
Diffstat (limited to 'android/gatt.c')
-rw-r--r-- | android/gatt.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/android/gatt.c b/android/gatt.c index 8f3e575b3..4da959fea 100644 --- a/android/gatt.c +++ b/android/gatt.c @@ -956,6 +956,20 @@ static void notify_client_mtu_change(struct app_connection *conn, bool success) HAL_EV_GATT_CLIENT_CONFIGURE_MTU, sizeof(ev), &ev); } +static void notify_server_mtu(struct app_connection *conn) +{ + struct hal_ev_gatt_server_mtu_changed ev; + size_t mtu; + + g_attrib_get_buffer(conn->device->attrib, &mtu); + + ev.conn_id = conn->id; + ev.mtu = mtu; + + ipc_send_notif(hal_ipc, HAL_SERVICE_ID_GATT, + HAL_EV_GATT_SERVER_MTU_CHANGED, sizeof(ev), &ev); +} + static void notify_mtu_change(void *data, void *user_data) { struct gatt_device *device = user_data; @@ -969,6 +983,8 @@ static void notify_mtu_change(void *data, void *user_data) notify_client_mtu_change(conn, true); break; case GATT_SERVER: + notify_server_mtu(conn); + break; default: break; } |