From 367aa29dfec57a4b628659d23e93863d2cb30644 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 22 Feb 2019 15:06:39 +1000 Subject: [PATCH] Drop the Led.Type property The led type was the physical led type to describe where the LED sits. This property is basically unused and of questionable use anyway. GUI applications would need to rely on drawings of the mouse anyway. Scripts don't really care because ratbagctl uses the led index anyway. The only time this matters is when we're looking at (human) device discovery. But even then just trying to set the LED is enough to figure out which one is which. So let's drop this API on the assumption that it's not really needed and maintaining and extending that enum forever is not necessary. This is not a full purge, merely the DBus API that gets dropped. Signed-off-by: Peter Hutterer --- ratbagd/ratbagd-led.c | 21 --------------------- src/libratbag-enums.h | 5 +++++ src/libratbag.c | 6 ------ src/libratbag.h | 12 ------------ tools/ratbagc.py.in | 6 ------ tools/ratbagctl.in | 19 ++++--------------- tools/ratbagctl.test.in | 38 +++++++++++++++++++------------------- tools/ratbagd.py | 6 ------ 8 files changed, 28 insertions(+), 85 deletions(-) diff --git a/ratbagd/ratbagd-led.c b/ratbagd/ratbagd-led.c index 38b2a549..2addd3d8 100644 --- a/ratbagd/ratbagd-led.c +++ b/ratbagd/ratbagd-led.c @@ -113,26 +113,6 @@ static int ratbagd_led_set_mode(sd_bus *bus, return 0; } -static int ratbagd_led_get_type(sd_bus *bus, - const char *path, - const char *interface, - const char *property, - sd_bus_message *reply, - void *userdata, - sd_bus_error *error) -{ - struct ratbagd_led *led = userdata; - enum ratbag_led_type type; - - type = ratbag_led_get_type(led->lib_led); - - verify_unsigned_int(type); - - CHECK_CALL(sd_bus_message_append(reply, "u", type)); - - return 0; -} - static int ratbagd_led_get_color(sd_bus *bus, const char *path, const char *interface, @@ -295,7 +275,6 @@ const sd_bus_vtable ratbagd_led_vtable[] = { ratbagd_led_get_mode, ratbagd_led_set_mode, 0, SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("Type", "u", ratbagd_led_get_type, 0, SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_WRITABLE_PROPERTY("Color", "(uuu)", ratbagd_led_get_color, ratbagd_led_set_color, 0, SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), diff --git a/src/libratbag-enums.h b/src/libratbag-enums.h index 447d8010..0c7b8e17 100644 --- a/src/libratbag-enums.h +++ b/src/libratbag-enums.h @@ -284,10 +284,15 @@ enum ratbag_led_mode { */ RATBAG_LED_BREATHING, }; + /** * @ingroup enums * * LED types, usually based on their physical location + * + * This enum is deprecated and should not be used. + * + * @deprecated */ enum ratbag_led_type { RATBAG_LED_TYPE_LOGO = 1, diff --git a/src/libratbag.c b/src/libratbag.c index 482817a1..305730a2 100644 --- a/src/libratbag.c +++ b/src/libratbag.c @@ -1470,12 +1470,6 @@ ratbag_led_get_mode(struct ratbag_led *led) return led->mode; } -LIBRATBAG_EXPORT enum ratbag_led_type -ratbag_led_get_type(struct ratbag_led *led) -{ - return led->type; -} - LIBRATBAG_EXPORT bool ratbag_led_has_mode(struct ratbag_led *led, enum ratbag_led_mode mode) diff --git a/src/libratbag.h b/src/libratbag.h index d9aa47d6..1d6168f5 100644 --- a/src/libratbag.h +++ b/src/libratbag.h @@ -1157,18 +1157,6 @@ ratbag_button_get_special(struct ratbag_button *button); */ struct ratbag_led * ratbag_profile_get_led(struct ratbag_profile *profile, unsigned int index); -/** - * @ingroup led - * - * This function returns the type for ratbag_led. - * - * @param led A previously initialized ratbag LED - * @return The LED type @ref ratbag_led_type - * - * @see ratbag_led_set_mode - */ -enum ratbag_led_type -ratbag_led_get_type(struct ratbag_led *led); /** * @ingroup led diff --git a/tools/ratbagc.py.in b/tools/ratbagc.py.in index 652d096c..56626d64 100644 --- a/tools/ratbagc.py.in +++ b/tools/ratbagc.py.in @@ -773,12 +773,6 @@ class RatbagdLed(metaclass=MetaRatbag): """ libratbag.ratbag_led_set_mode(self._led, mode) - @property - def type(self): - """An enum describing this led's type, one of RatbagdLed.TYPE_UNKNOWN, - RatbagdLed.TYPE_LOGO or RatbagdLed.TYPE_SIDE.""" - return libratbag.ratbag_led_get_type(self._led) - @property def color(self): """An integer triple of the current LED color.""" diff --git a/tools/ratbagctl.in b/tools/ratbagctl.in index 31dd348f..ebff515f 100755 --- a/tools/ratbagctl.in +++ b/tools/ratbagctl.in @@ -123,41 +123,30 @@ def print_led(d, p, l, level): RatbagdLed.MODE_OFF: "off", RatbagdLed.MODE_ON: "on", } - types = { - RatbagdLed.TYPE_LOGO: "logo", - RatbagdLed.TYPE_SIDE: "side", - RatbagdLed.TYPE_BATTERY: "battery", - RatbagdLed.TYPE_DPI: "dpi", - RatbagdLed.TYPE_WHEEL: "wheel", - } depths = { RatbagdLed.COLORDEPTH_MONOCHROME: "monochrome", RatbagdLed.COLORDEPTH_RGB_888: "rgb", RatbagdLed.COLORDEPTH_RGB_111: "rgb111", } if l.mode == RatbagdLed.MODE_OFF: - print(" " * level + "LED: {} type: {}, depth: {}, mode: {}".format(l.index, - types[l.type], + print(" " * level + "LED: {}, depth: {}, mode: {}".format(l.index, depths[l.colordepth], leds[l.mode])) elif l.mode == RatbagdLed.MODE_ON: - print(" " * level + "LED: {} type: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}".format(l.index, - types[l.type], + print(" " * level + "LED: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}".format(l.index, depths[l.colordepth], leds[l.mode], l.color[0], l.color[1], l.color[2])) elif l.mode == RatbagdLed.MODE_CYCLE: - print(" " * level + "LED: {} type: {}, depth: {}, mode: {}, duration: {}, brightness: {}".format(l.index, - types[l.type], + print(" " * level + "LED: {}, depth: {}, mode: {}, duration: {}, brightness: {}".format(l.index, depths[l.colordepth], leds[l.mode], l.effect_duration, l.brightness)) elif l.mode == RatbagdLed.MODE_BREATHING: - print(" " * level + "LED: {} type: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}, duration: {}, brightness: {}".format(l.index, - types[l.type], + print(" " * level + "LED: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}, duration: {}, brightness: {}".format(l.index, depths[l.colordepth], leds[l.mode], l.color[0], diff --git a/tools/ratbagctl.test.in b/tools/ratbagctl.test.in index 21e54882..b05e6e8f 100755 --- a/tools/ratbagctl.test.in +++ b/tools/ratbagctl.test.in @@ -480,11 +480,11 @@ class TestRatbagCtlLED(TestRatbagCtl): def test_led_n_get(self): self.setProfile(0) r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: off") + self.assertEqual(r, "LED: 0, depth: rgb, mode: off") r = self.launch_good_test("led 1 get test_device") - self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: ff0000") + self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: ff0000") r = self.launch_good_test("led 2 get test_device") - self.assertEqual(r, "LED: 2 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 40") + self.assertEqual(r, "LED: 2, depth: rgb, mode: cycle, duration: 333, brightness: 40") self.launch_fail_test("led 0 get 10 test_device") self.launch_fail_test("led 10 get test_device") self.launch_fail_test("led 0 get test_device X") @@ -492,11 +492,11 @@ class TestRatbagCtlLED(TestRatbagCtl): def test_led_n_set_mode(self): self.setProfile(0) r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: off") + self.assertEqual(r, "LED: 0, depth: rgb, mode: off") r = self.launch_good_test("led 0 set mode cycle test_device") self.assertEqual(r, '') r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 1000, brightness: 20") + self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 1000, brightness: 20") self.launch_fail_test("led 0 set mode bicycle test_device") self.launch_fail_test("led 0 set mode test_device") self.launch_fail_test("led 0 set mode cycle test_device X") @@ -505,15 +505,15 @@ class TestRatbagCtlLED(TestRatbagCtl): def test_led_n_set_color(self): self.setProfile(0) r = self.launch_good_test("led 1 get test_device") - self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: ff0000") + self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: ff0000") r = self.launch_good_test("led 1 set color 00ff00 test_device") self.assertEqual(r, '') r = self.launch_good_test("led 1 get test_device") - self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: 00ff00") + self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: 00ff00") r = self.launch_good_test("led 1 set color 0x0000ff test_device") self.assertEqual(r, '') r = self.launch_good_test("led 1 get test_device") - self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: 0000ff") + self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: 0000ff") self.launch_fail_test("led 1 set color g0ff00 test_device") self.launch_fail_test("led 1 set color test_device") self.launch_fail_test("led 1 set color 00ff00 test_device X") @@ -522,11 +522,11 @@ class TestRatbagCtlLED(TestRatbagCtl): def test_led_n_set_duration(self): self.setProfile(0) r = self.launch_good_test("led 2 get test_device") - self.assertEqual(r, "LED: 2 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 40") + self.assertEqual(r, "LED: 2, depth: rgb, mode: cycle, duration: 333, brightness: 40") r = self.launch_good_test("led 2 set duration 10 test_device") self.assertEqual(r, '') r = self.launch_good_test("led 2 get test_device") - self.assertEqual(r, "LED: 2 type: side, depth: rgb, mode: cycle, duration: 10, brightness: 40") + self.assertEqual(r, "LED: 2, depth: rgb, mode: cycle, duration: 10, brightness: 40") self.launch_fail_test("led 2 set duration this_is_not_an_int test_device") self.launch_fail_test("led 2 set duration test_device") self.launch_fail_test("led 2 set duration 100 test_device X") @@ -535,11 +535,11 @@ class TestRatbagCtlLED(TestRatbagCtl): def test_led_n_set_brightness(self): self.setProfile(2) r = self.launch_good_test("led 1 get test_device") - self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 40") + self.assertEqual(r, "LED: 1, depth: rgb, mode: cycle, duration: 333, brightness: 40") r = self.launch_good_test("led 1 set brightness 100 test_device") self.assertEqual(r, '') r = self.launch_good_test("led 1 get test_device") - self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 100") + self.assertEqual(r, "LED: 1, depth: rgb, mode: cycle, duration: 333, brightness: 100") self.launch_fail_test("led 1 set brightness this_is_not_an_int test_device") self.launch_fail_test("led 1 set brightness test_device") self.launch_fail_test("led 1 set brightness 100 test_device X") @@ -551,28 +551,28 @@ class TestRatbagCtlLED(TestRatbagCtl): def test_led_n_set_combination(self): self.setProfile(2) r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: on, color: ff0000") + self.assertEqual(r, "LED: 0, depth: rgb, mode: on, color: ff0000") r = self.launch_good_test("led 0 set mode cycle brightness 100 test_device") r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 1000, brightness: 100") + self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 1000, brightness: 100") r = self.launch_good_test("led 0 set mode cycle duration 100 brightness 255 test_device") r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 100, brightness: 255") + self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 100, brightness: 255") r = self.launch_good_test("led 0 set mode on color 00ff00 test_device") r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: on, color: 00ff00") + self.assertEqual(r, "LED: 0, depth: rgb, mode: on, color: 00ff00") r = self.launch_good_test("led 0 set duration 100 brightness 200 mode cycle test_device") r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 100, brightness: 200") + self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 100, brightness: 200") r = self.launch_good_test("led 0 set duration 100 brightness 200 mode cycle brightness 100 test_device") r = self.launch_good_test("led 0 get test_device") - self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 100, brightness: 100") + self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 100, brightness: 100") self.launch_fail_test("led 0 set brightness 10 mode bicycle test_device") def test_prefix_led(self): self.setProfile(2) r = self.launch_good_test("Profile 1 Led 1 get test_device") - self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: off") + self.assertEqual(r, "LED: 1, depth: rgb, mode: off") self.launch_fail_test("Profile 1 Profile 2 Led 1 get test_device") self.launch_fail_test("Profile 1 Resolution 2 Led 1 get test_device") diff --git a/tools/ratbagd.py b/tools/ratbagd.py index d4e72922..0fd4fcf9 100644 --- a/tools/ratbagd.py +++ b/tools/ratbagd.py @@ -919,12 +919,6 @@ class RatbagdLed(_RatbagdDBus): """The supported modes as a list""" return self._get_dbus_property("Modes") - @GObject.Property - def type(self): - """An enum describing this led's type, - RatbagdLed.TYPE_LOGO or RatbagdLed.TYPE_SIDE.""" - return self._get_dbus_property("Type") - @GObject.Property def color(self): """An integer triple of the current LED color."""