From e4617108117eaa5e7bf16d1007bf6ac2bc03bfd5 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Fri, 25 Sep 2015 16:27:45 +0200 Subject: [PATCH] ratbagd: add basic device properties Add two device properties: - Id: Returns the string ID to identify the device - Description: Returns the ratbag-device name Signed-off-by: David Herrmann --- src/ratbagd-device.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/ratbagd-device.c b/src/ratbagd-device.c index b63552d1..44b83aca 100644 --- a/src/ratbagd-device.c +++ b/src/ratbagd-device.c @@ -112,8 +112,28 @@ error: return r; } +static int ratbagd_device_get_description(sd_bus *bus, + const char *path, + const char *interface, + const char *property, + sd_bus_message *reply, + void *userdata, + sd_bus_error *error) +{ + struct ratbagd_device *device = userdata; + const char *description; + + description = ratbag_device_get_name(device->lib_device); + if (!description) + return -ENODATA; + + return sd_bus_message_append(reply, "s", description); +} + static const sd_bus_vtable ratbagd_device_vtable[] = { SD_BUS_VTABLE_START(0), + SD_BUS_PROPERTY("Id", "s", NULL, offsetof(struct ratbagd_device, name), SD_BUS_VTABLE_UNPRIVILEGED | SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("Description", "s", ratbagd_device_get_description, 0, SD_BUS_VTABLE_UNPRIVILEGED | SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_VTABLE_END, };