From eb5cd58587db538fee38da45d560dc92631b8f99 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Thu, 13 Jun 2024 14:48:09 -0700 Subject: [PATCH] upower: Add a couple properties, and `KbdBacklight` bindings --- upower/src/device.rs | 6 ++++++ upower/src/kbdbacklight.rs | 28 ++++++++++++++++++++++++++++ upower/src/lib.rs | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 upower/src/kbdbacklight.rs diff --git a/upower/src/device.rs b/upower/src/device.rs index 31bb0a1..8f6c604 100644 --- a/upower/src/device.rs +++ b/upower/src/device.rs @@ -111,6 +111,12 @@ trait Device { #[zbus(property)] fn temperature(&self) -> zbus::Result; + #[zbus(property)] + fn time_to_empty(&self) -> zbus::Result; + + #[zbus(property)] + fn time_to_full(&self) -> zbus::Result; + #[zbus(property, name = "Type")] fn type_(&self) -> zbus::Result; diff --git a/upower/src/kbdbacklight.rs b/upower/src/kbdbacklight.rs new file mode 100644 index 0000000..46834ee --- /dev/null +++ b/upower/src/kbdbacklight.rs @@ -0,0 +1,28 @@ +// Copyright 2021 System76 +// SPDX-License-Identifier: MPL-2.0 + +use zbus::proxy; + +#[proxy( + default_service = "org.freedesktop.UPower", + interface = "org.freedesktop.UPower.KbdBacklight", + default_path = "/org/freedesktop/UPower/KbdBacklight" +)] +trait KbdBacklight { + /// GetBrightness method + fn get_brightness(&self) -> zbus::Result; + + /// GetMaxBrightness method + fn get_max_brightness(&self) -> zbus::Result; + + /// SetBrightness method + fn set_brightness(&self, value: i32) -> zbus::Result<()>; + + /// BrightnessChanged signal + #[zbus(signal)] + fn brightness_changed(&self, value: i32) -> zbus::Result<()>; + + /// BrightnessChangedWithSource signal + #[zbus(signal)] + fn brightness_changed_with_source(&self, value: i32, source: &str) -> zbus::Result<()>; +} diff --git a/upower/src/lib.rs b/upower/src/lib.rs index a6cc00b..0d2d309 100644 --- a/upower/src/lib.rs +++ b/upower/src/lib.rs @@ -3,7 +3,9 @@ #![doc = include_str!("../README.md")] mod device; +mod kbdbacklight; mod upower; pub use self::device::*; +pub use self::kbdbacklight::*; pub use self::upower::*;