This will send adapter property with class of device to notification socket. --- android/adapter.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/android/adapter.c b/android/adapter.c index d791450..523209e 100644 --- a/android/adapter.c +++ b/android/adapter.c @@ -185,6 +185,30 @@ static void scan_mode_changed(void) g_free(ev); } +static void send_adapter_class(void) +{ + struct hal_ev_adapter_props_changed *ev; + int len; + + len = sizeof(*ev) + sizeof(struct hal_property) + sizeof(uint32_t); + + ev = g_malloc(len); + + ev->num_props = 1; + ev->status = HAL_STATUS_SUCCESS; + + ev->props[0].type = HAL_PROP_ADAPTER_CLASS; + ev->props[0].len = sizeof(uint32_t); + memcpy(ev->props->val, &adapter->dev_class, sizeof(uint32_t)); + + DBG("Adapter class %u", adapter->dev_class); + + ipc_send(notification_io, HAL_SERVICE_ID_BLUETOOTH, + HAL_EV_ADAPTER_PROPS_CHANGED, len, ev, -1); + + g_free(ev); +} + static void adapter_name_changed(const uint8_t *name) { struct hal_ev_adapter_props_changed *ev; @@ -275,7 +299,7 @@ static void mgmt_dev_class_changed_event(uint16_t index, uint16_t length, adapter->dev_class = dev_class; - /* TODO: Inform prop change: Class */ + send_adapter_class(); /* TODO: Gatt attrib set*/ } @@ -1265,11 +1289,11 @@ static bool get_uuids(void) static bool get_class(void) { - DBG("Not implemented"); + DBG(""); - /* TODO: Add implementation */ + send_adapter_class(); - return false; + return true; } static bool get_type(void) -- 1.8.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html