From 82a0cd4ec4a984e4c4b6b0bcd590b82424798c50 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 12 Jul 2017 10:03:16 +1000 Subject: [PATCH] ratbagd: send property changed signals when we change the properties Signed-off-by: Peter Hutterer --- ratbagd/ratbagd-led.c | 40 ++++++++++++++++++++++++++++++++++++ ratbagd/ratbagd-resolution.c | 19 +++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/ratbagd/ratbagd-led.c b/ratbagd/ratbagd-led.c index b2d23b48..8befd74b 100644 --- a/ratbagd/ratbagd-led.c +++ b/ratbagd/ratbagd-led.c @@ -66,6 +66,16 @@ static int ratbagd_led_set_mode(sd_bus_message *m, return r; r = ratbag_led_set_mode(led->lib_led, mode); + + if (r == 0) { + sd_bus *bus = sd_bus_message_get_bus(m); + sd_bus_emit_properties_changed(bus, + led->path, + RATBAGD_NAME_ROOT ".Led", + "Mode", + NULL); + } + return sd_bus_reply_method_return(m, "u", r); } @@ -132,6 +142,16 @@ static int ratbagd_led_set_color(sd_bus_message *m, return RATBAG_ERROR_VALUE; r = ratbag_led_set_color(led->lib_led, c); + + if (r == 0) { + sd_bus *bus = sd_bus_message_get_bus(m); + sd_bus_emit_properties_changed(bus, + led->path, + RATBAGD_NAME_ROOT ".Led", + "Color", + NULL); + } + return sd_bus_reply_method_return(m, "u", r); } @@ -166,6 +186,16 @@ static int ratbagd_led_set_effect_rate(sd_bus_message *m, return 0; r = ratbag_led_set_effect_rate(led->lib_led, rate); + + if (r == 0) { + sd_bus *bus = sd_bus_message_get_bus(m); + sd_bus_emit_properties_changed(bus, + led->path, + RATBAGD_NAME_ROOT ".Led", + "EffectRate", + NULL); + } + return sd_bus_reply_method_return(m, "u", r); } @@ -200,6 +230,16 @@ static int ratbagd_led_set_brightness(sd_bus_message *m, return 0; r = ratbag_led_set_brightness(led->lib_led, brightness); + + if (r == 0) { + sd_bus *bus = sd_bus_message_get_bus(m); + sd_bus_emit_properties_changed(bus, + led->path, + RATBAGD_NAME_ROOT ".Led", + "Brightness", + NULL); + } + return sd_bus_reply_method_return(m, "u", r); } diff --git a/ratbagd/ratbagd-resolution.c b/ratbagd/ratbagd-resolution.c index 20b584c2..c36f0b13 100644 --- a/ratbagd/ratbagd-resolution.c +++ b/ratbagd/ratbagd-resolution.c @@ -64,7 +64,16 @@ static int ratbagd_resolution_set_report_rate(sd_bus_message *m, r = ratbag_resolution_set_report_rate(resolution->lib_resolution, rate); if (r == 0) { + sd_bus *bus; + resolution->rate = rate; + + bus = sd_bus_message_get_bus(m); + sd_bus_emit_properties_changed(bus, + resolution->path, + RATBAGD_NAME_ROOT ".Resolution", + "ReportRate", + NULL); } return sd_bus_reply_method_return(m, "u", r); } @@ -91,8 +100,18 @@ static int ratbagd_resolution_set_resolution(sd_bus_message *m, xres, yres); } if (r == 0) { + sd_bus *bus; + resolution->xres = xres; resolution->yres = yres; + + bus = sd_bus_message_get_bus(m); + sd_bus_emit_properties_changed(bus, + resolution->path, + RATBAGD_NAME_ROOT ".Resolution", + "XResolution", + "YResolution", + NULL); } return sd_bus_reply_method_return(m, "u", r);