diff --git a/profiles/gatt/gas.c b/profiles/gatt/gas.c
index 76db130..54f5842 100644
--- a/profiles/gatt/gas.c
+++ b/profiles/gatt/gas.c
static void gap_appearance_cb(guint8 status, const guint8 *pdu, guint16 plen,
gpointer user_data)
{
+ struct gas *gas = user_data;
struct att_data_list *list = NULL;
uint16_t app;
uint8_t *atval;
DBG("GAP Appearance: 0x%04x", app);
+ device_set_appearance(gas->device, app);
+
done:
att_data_list_free(list);
}
diff --git a/src/device.c b/src/device.c
index 00ab760..f612bb0 100644
--- a/src/device.c
+++ b/src/device.c
return 0;
}
+void device_set_appearance(struct btd_device *device, uint16_t value)
+{
+ DBusConnection *conn = get_dbus_connection();
+
+ emit_property_changed(conn, device->path, DEVICE_INTERFACE,
+ "Appearance", DBUS_TYPE_UINT16, &value);
+}
+
static gboolean notify_attios(gpointer user_data)
{
struct btd_device *device = user_data;
diff --git a/src/device.h b/src/device.h
index eb4b41e..85d265a 100644
--- a/src/device.h
+++ b/src/device.h
void device_remove_disconnect_watch(struct btd_device *device, guint id);
void device_set_class(struct btd_device *device, uint32_t value);
int device_get_appearance(struct btd_device *device, uint16_t *value);
+void device_set_appearance(struct btd_device *device, uint16_t value);
#define BTD_UUIDS(args...) ((const char *[]) { args, NULL } )