zbus update

This commit is contained in:
Ashley Wulber 2024-05-16 21:29:28 -04:00 • committed by Michael Murphy
parent 2e9660f2a8
commit 87250b5e50
23 changed files with 613 additions and 484 deletions

View file

@ -18,11 +18,12 @@
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
use zbus::dbus_proxy;
use zbus::proxy;
#[dbus_proxy(
#[proxy(
interface = "com.system76.PowerDaemon",
default_path = "/com/system76/PowerDaemon"
default_path = "/com/system76/PowerDaemon",
assume_defaults = true
)]
trait PowerDaemon {
/// Balanced method
@ -70,10 +71,10 @@ trait PowerDaemon {
fn set_graphics_power(&self, power: bool) -> zbus::Result<()>;
/// HotPlugDetect signal
#[dbus_proxy(signal)]
#[zbus(signal)]
fn hot_plug_detect(&self, port: u64) -> zbus::Result<()>;
/// PowerProfileSwitch signal
#[dbus_proxy(signal)]
#[zbus(signal)]
fn power_profile_switch(&self, profile: &str) -> zbus::Result<()>;
}

View file

@ -10,9 +10,9 @@
//! section of the zbus documentation.
//!
use zbus::dbus_proxy;
use zbus::proxy;
#[dbus_proxy(
#[proxy(
interface = "org.freedesktop.UPower.PowerProfiles",
default_path = "/org/freedesktop/UPower/PowerProfiles",
assume_defaults = true
@ -25,40 +25,40 @@ trait PowerProfiles {
fn release_profile(&self, cookie: u32) -> zbus::Result<()>;
/// ProfileReleased signal
#[dbus_proxy(signal)]
#[zbus(signal)]
fn profile_released(&self, cookie: u32) -> zbus::Result<()>;
/// Actions property
#[dbus_proxy(property)]
#[zbus(property)]
fn actions(&self) -> zbus::Result<Vec<String>>;
/// ActiveProfile property
#[dbus_proxy(property)]
#[zbus(property)]
fn active_profile(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
#[zbus(property)]
fn set_active_profile(&self, value: &str) -> zbus::Result<()>;
/// ActiveProfileHolds property
#[dbus_proxy(property)]
#[zbus(property)]
fn active_profile_holds(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// PerformanceDegraded property
#[dbus_proxy(property)]
#[zbus(property)]
fn performance_degraded(&self) -> zbus::Result<String>;
/// PerformanceInhibited property
#[dbus_proxy(property)]
#[zbus(property)]
fn performance_inhibited(&self) -> zbus::Result<String>;
/// Profiles property
#[dbus_proxy(property)]
#[zbus(property)]
fn profiles(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// Version property
#[dbus_proxy(property)]
#[zbus(property)]
fn version(&self) -> zbus::Result<String>;
}

View file

@ -19,7 +19,7 @@ use tokio::sync::mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender};
const BACKLIGHT_SYSDIR: &str = "/sys/class/backlight";
#[zbus::dbus_proxy(
#[zbus::proxy(
default_service = "org.freedesktop.login1",
interface = "org.freedesktop.login1.Session",
default_path = "/org/freedesktop/login1/session/auto"

View file

@ -3,11 +3,12 @@
//! This code was generated by `zbus-xmlgen` `2.0.1` from DBus introspection data.
//! Source: `Interface '/org/freedesktop/UPower' from service 'org.freedesktop.UPower' on system bus`.
use zbus::dbus_proxy;
use zbus::proxy;
#[dbus_proxy(
#[proxy(
default_service = "org.freedesktop.UPower",
interface = "org.freedesktop.UPower"
interface = "org.freedesktop.UPower",
default_path = "/org/freedesktop/UPower"
)]
trait UPower {
/// EnumerateDevices method
@ -20,26 +21,26 @@ trait UPower {
fn get_display_device(&self) -> zbus::Result<zbus::zvariant::OwnedObjectPath>;
/// DeviceAdded signal
#[dbus_proxy(signal)]
#[zbus(signal)]
fn device_added(&self, device: zbus::zvariant::ObjectPath<'_>) -> zbus::Result<()>;
/// DeviceRemoved signal
#[dbus_proxy(signal)]
#[zbus(signal)]
fn device_removed(&self, device: zbus::zvariant::ObjectPath<'_>) -> zbus::Result<()>;
/// DaemonVersion property
#[dbus_proxy(property)]
#[zbus(property)]
fn daemon_version(&self) -> zbus::Result<String>;
/// LidIsClosed property
#[dbus_proxy(property)]
#[zbus(property)]
fn lid_is_closed(&self) -> zbus::Result<bool>;
/// LidIsPresent property
#[dbus_proxy(property)]
#[zbus(property)]
fn lid_is_present(&self) -> zbus::Result<bool>;
/// OnBattery property
#[dbus_proxy(property)]
#[zbus(property)]
fn on_battery(&self) -> zbus::Result<bool>;
}

View file

@ -10,10 +10,10 @@ use cosmic::iced::{
};
use std::{fmt::Debug, hash::Hash};
use zbus::dbus_proxy;
use zbus::proxy;
use crate::upower::UPowerProxy;
#[dbus_proxy(
#[proxy(
default_service = "org.freedesktop.UPower",
interface = "org.freedesktop.UPower.Device"
)]
@ -33,123 +33,123 @@ trait Device {
fn refresh(&self) -> zbus::Result<()>;
/// BatteryLevel property
#[dbus_proxy(property)]
#[zbus(property)]
fn battery_level(&self) -> zbus::Result<u32>;
/// Capacity property
#[dbus_proxy(property)]
#[zbus(property)]
fn capacity(&self) -> zbus::Result<f64>;
/// ChargeCycles property
#[dbus_proxy(property)]
#[zbus(property)]
fn charge_cycles(&self) -> zbus::Result<i32>;
/// Energy property
#[dbus_proxy(property)]
#[zbus(property)]
fn energy(&self) -> zbus::Result<f64>;
/// EnergyEmpty property
#[dbus_proxy(property)]
#[zbus(property)]
fn energy_empty(&self) -> zbus::Result<f64>;
/// EnergyFull property
#[dbus_proxy(property)]
#[zbus(property)]
fn energy_full(&self) -> zbus::Result<f64>;
/// EnergyFullDesign property
#[dbus_proxy(property)]
#[zbus(property)]
fn energy_full_design(&self) -> zbus::Result<f64>;
/// EnergyRate property
#[dbus_proxy(property)]
#[zbus(property)]
fn energy_rate(&self) -> zbus::Result<f64>;
/// HasHistory property
#[dbus_proxy(property)]
#[zbus(property)]
fn has_history(&self) -> zbus::Result<bool>;
/// HasStatistics property
#[dbus_proxy(property)]
#[zbus(property)]
fn has_statistics(&self) -> zbus::Result<bool>;
/// IconName property
#[dbus_proxy(property)]
#[zbus(property)]
fn icon_name(&self) -> zbus::Result<String>;
/// IsPresent property
#[dbus_proxy(property)]
#[zbus(property)]
fn is_present(&self) -> zbus::Result<bool>;
/// IsRechargeable property
#[dbus_proxy(property)]
#[zbus(property)]
fn is_rechargeable(&self) -> zbus::Result<bool>;
/// Luminosity property
#[dbus_proxy(property)]
#[zbus(property)]
fn luminosity(&self) -> zbus::Result<f64>;
/// Model property
#[dbus_proxy(property)]
#[zbus(property)]
fn model(&self) -> zbus::Result<String>;
/// NativePath property
#[dbus_proxy(property)]
#[zbus(property)]
fn native_path(&self) -> zbus::Result<String>;
/// Online property
#[dbus_proxy(property)]
#[zbus(property)]
fn online(&self) -> zbus::Result<bool>;
/// Percentage property
#[dbus_proxy(property)]
#[zbus(property)]
fn percentage(&self) -> zbus::Result<f64>;
/// PowerSupply property
#[dbus_proxy(property)]
#[zbus(property)]
fn power_supply(&self) -> zbus::Result<bool>;
/// Serial property
#[dbus_proxy(property)]
#[zbus(property)]
fn serial(&self) -> zbus::Result<String>;
/// State property
#[dbus_proxy(property)]
#[zbus(property)]
fn state(&self) -> zbus::Result<u32>;
/// Technology property
#[dbus_proxy(property)]
#[zbus(property)]
fn technology(&self) -> zbus::Result<u32>;
/// Temperature property
#[dbus_proxy(property)]
#[zbus(property)]
fn temperature(&self) -> zbus::Result<f64>;
/// TimeToEmpty property
#[dbus_proxy(property)]
#[zbus(property)]
fn time_to_empty(&self) -> zbus::Result<i64>;
/// TimeToFull property
#[dbus_proxy(property)]
#[zbus(property)]
fn time_to_full(&self) -> zbus::Result<i64>;
/// Type property
#[dbus_proxy(property)]
#[zbus(property)]
fn type_(&self) -> zbus::Result<u32>;
/// UpdateTime property
#[dbus_proxy(property)]
#[zbus(property)]
fn update_time(&self) -> zbus::Result<u64>;
/// Vendor property
#[dbus_proxy(property)]
#[zbus(property)]
fn vendor(&self) -> zbus::Result<String>;
/// Voltage property
#[dbus_proxy(property)]
#[zbus(property)]
fn voltage(&self) -> zbus::Result<f64>;
/// WarningLevel property
#[dbus_proxy(property)]
#[zbus(property)]
fn warning_level(&self) -> zbus::Result<u32>;
}
@ -194,7 +194,8 @@ async fn start_listening(
if let Ok(devices) = upower.enumerate_devices().await {
let mut has_battery = false;
for device in devices {
let Ok(d) = DeviceProxy::builder(upower.connection()).path(device) else {
let Ok(d) = DeviceProxy::builder(upower.inner().connection()).path(device)
else {
continue;
};
let Ok(d) = d.build().await else {

View file

@ -6,9 +6,9 @@
use cosmic::iced::{self, futures::SinkExt, subscription};
use std::{fmt::Debug, hash::Hash};
use tokio::sync::mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender};
use zbus::dbus_proxy;
use zbus::proxy;
#[dbus_proxy(
#[proxy(
default_service = "org.freedesktop.UPower",
interface = "org.freedesktop.UPower.KbdBacklight",
default_path = "/org/freedesktop/UPower/KbdBacklight"
@ -24,11 +24,11 @@ trait KbdBacklight {
fn set_brightness(&self, value: i32) -> zbus::Result<()>;
/// BrightnessChanged signal
#[dbus_proxy(signal)]
#[zbus(signal)]
fn brightness_changed(&self, value: i32) -> zbus::Result<()>;
/// BrightnessChangedWithSource signal
#[dbus_proxy(signal)]
#[zbus(signal)]
fn brightness_changed_with_source(&self, value: i32, source: &str) -> zbus::Result<()>;
}