mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-01-22 17:33:19 +01:00
Fluke/dbus refactor
This commit is contained in:
@@ -10,6 +10,7 @@ description = "dbus interface methods for asusctl"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
asusd = { path = "../asusd" }
|
||||
rog_anime = { path = "../rog-anime", features = ["dbus"] }
|
||||
rog_aura = { path = "../rog-aura" }
|
||||
rog_profiles = { path = "../rog-profiles" }
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
pub static DBUS_NAME: &str = "org.asuslinux.Daemon";
|
||||
pub static DBUS_PATH: &str = "/org/asuslinux/Daemon";
|
||||
pub static DBUS_IFACE: &str = "org.asuslinux.Daemon";
|
||||
|
||||
pub use asusd::{DBUS_IFACE, DBUS_NAME, DBUS_PATH};
|
||||
pub mod zbus_anime;
|
||||
pub mod zbus_led;
|
||||
pub mod zbus_aura;
|
||||
pub mod zbus_fan_curves;
|
||||
pub mod zbus_platform;
|
||||
pub mod zbus_power;
|
||||
pub mod zbus_profile;
|
||||
pub mod zbus_supported;
|
||||
|
||||
// use rog_anime::AnimePowerStates;
|
||||
// use rog_aura::{AuraEffect, LedPowerStates};
|
||||
@@ -19,11 +14,9 @@ pub const VERSION: &str = env!("CARGO_PKG_VERSION");
|
||||
|
||||
pub struct DbusProxiesBlocking<'a> {
|
||||
anime: zbus_anime::AnimeProxyBlocking<'a>,
|
||||
charge: zbus_power::PowerProxyBlocking<'a>,
|
||||
led: zbus_led::LedProxyBlocking<'a>,
|
||||
profile: zbus_profile::ProfileProxyBlocking<'a>,
|
||||
rog_bios: zbus_platform::RogBiosProxyBlocking<'a>,
|
||||
supported: zbus_supported::SupportedProxyBlocking<'a>,
|
||||
led: zbus_aura::AuraProxyBlocking<'a>,
|
||||
profile: zbus_fan_curves::FanCurvesProxyBlocking<'a>,
|
||||
rog_bios: zbus_platform::PlatformProxyBlocking<'a>,
|
||||
}
|
||||
|
||||
impl<'a> DbusProxiesBlocking<'a> {
|
||||
@@ -34,11 +27,9 @@ impl<'a> DbusProxiesBlocking<'a> {
|
||||
Ok((
|
||||
DbusProxiesBlocking {
|
||||
anime: zbus_anime::AnimeProxyBlocking::new(&conn)?,
|
||||
led: zbus_led::LedProxyBlocking::new(&conn)?,
|
||||
charge: zbus_power::PowerProxyBlocking::new(&conn)?,
|
||||
profile: zbus_profile::ProfileProxyBlocking::new(&conn)?,
|
||||
rog_bios: zbus_platform::RogBiosProxyBlocking::new(&conn)?,
|
||||
supported: zbus_supported::SupportedProxyBlocking::new(&conn)?,
|
||||
led: zbus_aura::AuraProxyBlocking::new(&conn)?,
|
||||
profile: zbus_fan_curves::FanCurvesProxyBlocking::new(&conn)?,
|
||||
rog_bios: zbus_platform::PlatformProxyBlocking::new(&conn)?,
|
||||
},
|
||||
conn,
|
||||
))
|
||||
@@ -48,25 +39,17 @@ impl<'a> DbusProxiesBlocking<'a> {
|
||||
&self.anime
|
||||
}
|
||||
|
||||
pub fn charge(&self) -> &zbus_power::PowerProxyBlocking<'a> {
|
||||
&self.charge
|
||||
}
|
||||
|
||||
pub fn led(&self) -> &zbus_led::LedProxyBlocking<'a> {
|
||||
pub fn aura(&self) -> &zbus_aura::AuraProxyBlocking<'a> {
|
||||
&self.led
|
||||
}
|
||||
|
||||
pub fn profile(&self) -> &zbus_profile::ProfileProxyBlocking<'a> {
|
||||
pub fn fan_curves(&self) -> &zbus_fan_curves::FanCurvesProxyBlocking<'a> {
|
||||
&self.profile
|
||||
}
|
||||
|
||||
pub fn rog_bios(&self) -> &zbus_platform::RogBiosProxyBlocking<'a> {
|
||||
pub fn platform(&self) -> &zbus_platform::PlatformProxyBlocking<'a> {
|
||||
&self.rog_bios
|
||||
}
|
||||
|
||||
pub fn supported(&self) -> &zbus_supported::SupportedProxyBlocking<'a> {
|
||||
&self.supported
|
||||
}
|
||||
}
|
||||
|
||||
/// This is the main way to communicate with the DBUS interface
|
||||
@@ -88,11 +71,9 @@ impl<'a> RogDbusClientBlocking<'a> {
|
||||
|
||||
pub struct DbusProxies<'a> {
|
||||
anime: zbus_anime::AnimeProxy<'a>,
|
||||
charge: zbus_power::PowerProxy<'a>,
|
||||
led: zbus_led::LedProxy<'a>,
|
||||
profile: zbus_profile::ProfileProxy<'a>,
|
||||
rog_bios: zbus_platform::RogBiosProxy<'a>,
|
||||
supported: zbus_supported::SupportedProxy<'a>,
|
||||
led: zbus_aura::AuraProxy<'a>,
|
||||
profile: zbus_fan_curves::FanCurvesProxy<'a>,
|
||||
rog_bios: zbus_platform::PlatformProxy<'a>,
|
||||
}
|
||||
|
||||
impl<'a> DbusProxies<'a> {
|
||||
@@ -103,11 +84,9 @@ impl<'a> DbusProxies<'a> {
|
||||
Ok((
|
||||
DbusProxies {
|
||||
anime: zbus_anime::AnimeProxy::new(&conn).await?,
|
||||
led: zbus_led::LedProxy::new(&conn).await?,
|
||||
charge: zbus_power::PowerProxy::new(&conn).await?,
|
||||
profile: zbus_profile::ProfileProxy::new(&conn).await?,
|
||||
rog_bios: zbus_platform::RogBiosProxy::new(&conn).await?,
|
||||
supported: zbus_supported::SupportedProxy::new(&conn).await?,
|
||||
led: zbus_aura::AuraProxy::new(&conn).await?,
|
||||
profile: zbus_fan_curves::FanCurvesProxy::new(&conn).await?,
|
||||
rog_bios: zbus_platform::PlatformProxy::new(&conn).await?,
|
||||
},
|
||||
conn,
|
||||
))
|
||||
@@ -117,25 +96,17 @@ impl<'a> DbusProxies<'a> {
|
||||
&self.anime
|
||||
}
|
||||
|
||||
pub fn charge(&self) -> &zbus_power::PowerProxy<'a> {
|
||||
&self.charge
|
||||
}
|
||||
|
||||
pub fn led(&self) -> &zbus_led::LedProxy<'a> {
|
||||
pub fn led(&self) -> &zbus_aura::AuraProxy<'a> {
|
||||
&self.led
|
||||
}
|
||||
|
||||
pub fn profile(&self) -> &zbus_profile::ProfileProxy<'a> {
|
||||
pub fn profile(&self) -> &zbus_fan_curves::FanCurvesProxy<'a> {
|
||||
&self.profile
|
||||
}
|
||||
|
||||
pub fn rog_bios(&self) -> &zbus_platform::RogBiosProxy<'a> {
|
||||
pub fn rog_bios(&self) -> &zbus_platform::PlatformProxy<'a> {
|
||||
&self.rog_bios
|
||||
}
|
||||
|
||||
pub fn supported(&self) -> &zbus_supported::SupportedProxy<'a> {
|
||||
&self.supported
|
||||
}
|
||||
}
|
||||
|
||||
/// This is the main way to communicate with the DBUS interface
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use rog_anime::usb::{AnimAwake, AnimBooting, AnimShutdown, AnimSleeping, Brightness};
|
||||
use rog_anime::{AnimeDataBuffer, DeviceState as AnimeDeviceState};
|
||||
use rog_anime::usb::Brightness;
|
||||
use rog_anime::{Animations, AnimeDataBuffer, DeviceState as AnimeDeviceState};
|
||||
use zbus::dbus_proxy;
|
||||
|
||||
#[dbus_proxy(
|
||||
@@ -8,41 +8,58 @@ use zbus::dbus_proxy;
|
||||
default_path = "/org/asuslinux/Anime"
|
||||
)]
|
||||
trait Anime {
|
||||
/// Set the global base brightness
|
||||
fn set_brightness(&self, bright: Brightness) -> zbus::Result<()>;
|
||||
|
||||
/// Set whether the AniMe will show boot, suspend, or off animations
|
||||
fn set_builtins_enabled(&self, enabled: bool) -> zbus::Result<()>;
|
||||
|
||||
/// Set which builtin animation is used for each stage
|
||||
fn set_builtin_animations(
|
||||
&self,
|
||||
boot: AnimBooting,
|
||||
awake: AnimAwake,
|
||||
sleep: AnimSleeping,
|
||||
shutdown: AnimShutdown,
|
||||
) -> zbus::Result<()>;
|
||||
|
||||
/// Set whether the AniMe is displaying images/data
|
||||
fn set_enable_display(&self, status: bool) -> zbus::Result<()>;
|
||||
|
||||
/// SetOffWhenLidClosed method
|
||||
fn set_off_when_lid_closed(&self, enabled: bool) -> zbus::Result<()>;
|
||||
|
||||
/// SetOffWhenSuspended method
|
||||
fn set_off_when_suspended(&self, enabled: bool) -> zbus::Result<()>;
|
||||
|
||||
/// SetOffWhenUnplugged method
|
||||
fn set_off_when_unplugged(&self, enabled: bool) -> zbus::Result<()>;
|
||||
|
||||
/// Writes a data stream of length. Will force system thread to exit until
|
||||
/// it is restarted
|
||||
fn write(&self, input: AnimeDataBuffer) -> zbus::Result<()>;
|
||||
|
||||
// #[dbus_proxy(property)]
|
||||
/// DeviceState method
|
||||
fn device_state(&self) -> zbus::Result<AnimeDeviceState>;
|
||||
|
||||
/// RunMainLoop method
|
||||
fn run_main_loop(&self, start: bool) -> zbus::Result<()>;
|
||||
|
||||
/// Write method
|
||||
fn write(&self, input: AnimeDataBuffer) -> zbus::Result<()>;
|
||||
|
||||
/// NotifyDeviceState signal
|
||||
#[dbus_proxy(signal)]
|
||||
fn notify_device_state(&self, data: AnimeDeviceState) -> zbus::Result<()>;
|
||||
|
||||
/// Brightness property
|
||||
#[dbus_proxy(property)]
|
||||
fn brightness(&self) -> zbus::Result<Brightness>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_brightness(&self, value: Brightness) -> zbus::Result<()>;
|
||||
|
||||
/// BuiltinAnimations property
|
||||
#[dbus_proxy(property)]
|
||||
fn builtin_animations(&self) -> zbus::Result<Animations>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_builtin_animations(&self, value: Animations) -> zbus::Result<()>;
|
||||
|
||||
/// BuiltinsEnabled property
|
||||
#[dbus_proxy(property)]
|
||||
fn builtins_enabled(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_builtins_enabled(&self, value: bool) -> zbus::Result<()>;
|
||||
|
||||
/// EnableDisplay property
|
||||
#[dbus_proxy(property)]
|
||||
fn enable_display(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_enable_display(&self, value: bool) -> zbus::Result<()>;
|
||||
|
||||
/// OffWhenLidClosed property
|
||||
#[dbus_proxy(property)]
|
||||
fn off_when_lid_closed(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_off_when_lid_closed(&self, value: bool) -> zbus::Result<()>;
|
||||
|
||||
/// OffWhenSuspended property
|
||||
#[dbus_proxy(property)]
|
||||
fn off_when_suspended(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_off_when_suspended(&self, value: bool) -> zbus::Result<()>;
|
||||
|
||||
/// OffWhenUnplugged property
|
||||
#[dbus_proxy(property)]
|
||||
fn off_when_unplugged(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_off_when_unplugged(&self, value: bool) -> zbus::Result<()>;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use rog_aura::advanced::UsbPackets;
|
||||
use rog_aura::usb::AuraPowerDev;
|
||||
use rog_aura::usb::{AuraDevice, AuraPowerDev};
|
||||
use rog_aura::{AuraEffect, AuraModeNum, LedBrightness};
|
||||
use zbus::blocking::Connection;
|
||||
use zbus::{dbus_proxy, Result};
|
||||
@@ -32,66 +32,63 @@ const BLOCKING_TIME: u64 = 33; // 100ms = 10 FPS, max 50ms = 20 FPS, 40ms = 25 F
|
||||
|
||||
#[dbus_proxy(
|
||||
interface = "org.asuslinux.Daemon",
|
||||
default_service = "org.asuslinux.Daemon",
|
||||
default_path = "/org/asuslinux/Aura"
|
||||
)]
|
||||
trait Led {
|
||||
/// NextLedMode method
|
||||
fn next_led_mode(&self) -> zbus::Result<()>;
|
||||
trait Aura {
|
||||
/// AllModeData method
|
||||
fn all_mode_data(&self) -> zbus::Result<BTreeMap<AuraModeNum, AuraEffect>>;
|
||||
|
||||
/// PrevLedMode method
|
||||
fn prev_led_mode(&self) -> zbus::Result<()>;
|
||||
/// DirectAddressingRaw method
|
||||
fn direct_addressing_raw(&self, data: UsbPackets) -> zbus::Result<()>;
|
||||
|
||||
/// Toggle to next led brightness
|
||||
fn next_led_brightness(&self) -> zbus::Result<()>;
|
||||
|
||||
/// Toggle to previous led brightness
|
||||
fn prev_led_brightness(&self) -> zbus::Result<()>;
|
||||
|
||||
/// SetBrightness method
|
||||
fn set_brightness(&self, brightness: LedBrightness) -> zbus::Result<()>;
|
||||
|
||||
/// SetLedMode method
|
||||
fn set_led_mode(&self, effect: &AuraEffect) -> zbus::Result<()>;
|
||||
|
||||
fn set_led_power(&self, options: AuraPowerDev, enabled: bool) -> zbus::Result<()>;
|
||||
|
||||
/// On machine that have some form of either per-key keyboard or per-zone
|
||||
/// this can be used to write custom effects over dbus. The input is a
|
||||
/// nested `Vec<Vec<8>>` where `Vec<u8>` is a raw USB packet
|
||||
fn direct_addressing_raw(&self, data: UsbPackets) -> zbus::fdo::Result<()>;
|
||||
|
||||
/// NotifyLed signal
|
||||
#[dbus_proxy(signal)]
|
||||
fn notify_led(&self, data: AuraEffect) -> zbus::Result<()>;
|
||||
|
||||
#[dbus_proxy(signal)]
|
||||
fn notify_power_states(&self, data: AuraPowerDev) -> zbus::Result<()>;
|
||||
|
||||
/// LedBrightness property
|
||||
/// Brightness property
|
||||
#[dbus_proxy(property)]
|
||||
fn led_brightness(&self) -> zbus::Result<i16>;
|
||||
fn brightness(&self) -> zbus::Result<LedBrightness>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_brightness(&self, value: LedBrightness) -> zbus::Result<()>;
|
||||
|
||||
/// DeviceType property
|
||||
#[dbus_proxy(property)]
|
||||
fn device_type(&self) -> zbus::Result<AuraDevice>;
|
||||
|
||||
/// LedMode property
|
||||
#[dbus_proxy(property)]
|
||||
fn led_mode(&self) -> zbus::Result<AuraModeNum>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_led_mode(&self, value: AuraModeNum) -> zbus::Result<()>;
|
||||
|
||||
/// LedModes property
|
||||
fn led_modes(&self) -> zbus::Result<BTreeMap<AuraModeNum, AuraEffect>>;
|
||||
/// LedModeData property
|
||||
#[dbus_proxy(property)]
|
||||
fn led_mode_data(&self) -> zbus::Result<AuraEffect>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_led_mode_data(&self, value: AuraEffect) -> zbus::Result<()>;
|
||||
|
||||
// As property doesn't work for AuraPowerDev (complexity of serialization?)
|
||||
// #[dbus_proxy(property)]
|
||||
/// LedPower property
|
||||
#[dbus_proxy(property)]
|
||||
fn led_power(&self) -> zbus::Result<AuraPowerDev>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_led_power(&self, value: (AuraPowerDev, bool)) -> zbus::Result<()>;
|
||||
|
||||
/// SupportedBrightness property
|
||||
#[dbus_proxy(property)]
|
||||
fn supported_brightness(&self) -> zbus::Result<Vec<LedBrightness>>;
|
||||
|
||||
/// SupportedModes property
|
||||
#[dbus_proxy(property)]
|
||||
fn supported_modes(&self) -> zbus::Result<Vec<AuraModeNum>>;
|
||||
}
|
||||
|
||||
pub struct LedProxyPerkey<'a>(LedProxyBlocking<'a>);
|
||||
pub struct AuraProxyPerkey<'a>(AuraProxyBlocking<'a>);
|
||||
|
||||
impl<'a> LedProxyPerkey<'a> {
|
||||
impl<'a> AuraProxyPerkey<'a> {
|
||||
#[inline]
|
||||
pub fn new(conn: &Connection) -> Result<Self> {
|
||||
Ok(LedProxyPerkey(LedProxyBlocking::new(conn)?))
|
||||
Ok(AuraProxyPerkey(AuraProxyBlocking::new(conn)?))
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn proxy(&self) -> &LedProxyBlocking<'a> {
|
||||
pub fn proxy(&self) -> &AuraProxyBlocking<'a> {
|
||||
&self.0
|
||||
}
|
||||
|
||||
@@ -20,62 +20,43 @@
|
||||
//!
|
||||
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
|
||||
|
||||
use rog_platform::platform::PlatformPolicy;
|
||||
use rog_profiles::fan_curve_set::CurveData;
|
||||
use rog_profiles::{FanCurvePU, Profile};
|
||||
use rog_profiles::FanCurvePU;
|
||||
use zbus::dbus_proxy;
|
||||
|
||||
#[dbus_proxy(
|
||||
interface = "org.asuslinux.Daemon",
|
||||
default_path = "/org/asuslinux/Profile"
|
||||
default_service = "org.asuslinux.Daemon",
|
||||
default_path = "/org/asuslinux/FanCurves"
|
||||
)]
|
||||
trait Profile {
|
||||
/// Get the fan-curve data for the currently active Profile
|
||||
fn fan_curve_data(&self, profile: Profile) -> zbus::Result<Vec<CurveData>>;
|
||||
trait FanCurves {
|
||||
/// Get the fan-curve data for the currently active PlatformProfile
|
||||
fn fan_curve_data(&self, profile: PlatformPolicy) -> zbus::Result<Vec<CurveData>>;
|
||||
|
||||
/// Fetch the active profile name
|
||||
fn active_profile(&self) -> zbus::Result<Profile>;
|
||||
/// Reset the stored (self) and device curve to the defaults of the
|
||||
/// platform.
|
||||
///
|
||||
/// Each platform_profile has a different default and the defualt can be
|
||||
/// read only for the currently active profile.
|
||||
fn reset_profile_curves(&self, profile: PlatformPolicy) -> zbus::fdo::Result<()>;
|
||||
|
||||
/// Toggle to next platform_profile. Names provided by `Profiles`.
|
||||
/// If fan-curves are supported will also activate a fan curve for profile.
|
||||
fn next_profile(&self) -> zbus::Result<()>;
|
||||
/// SetActiveCurveToDefaults method
|
||||
fn set_active_curve_to_defaults(&self) -> zbus::Result<()>;
|
||||
|
||||
/// Fetch profile names
|
||||
fn profiles(&self) -> zbus::Result<Vec<Profile>>;
|
||||
|
||||
/// Set this platform_profile name as active
|
||||
fn set_active_profile(&self, profile: Profile) -> zbus::Result<()>;
|
||||
/// Set the fan curve for the specified profile, or the profile the user is
|
||||
/// currently in if profile == None. Will also activate the fan curve.
|
||||
fn set_fan_curve(&self, profile: PlatformPolicy, curve: CurveData) -> zbus::Result<()>;
|
||||
|
||||
/// Set a profile fan curve enabled status. Will also activate a fan curve.
|
||||
fn set_fan_curves_enabled(&self, profile: Profile, enabled: bool) -> zbus::Result<()>;
|
||||
fn set_fan_curves_enabled(&self, profile: PlatformPolicy, enabled: bool) -> zbus::Result<()>;
|
||||
|
||||
/// Set a single fan curve for a profile to enabled status. Will also
|
||||
/// activate a fan curve.
|
||||
async fn set_profile_fan_curve_enabled(
|
||||
&self,
|
||||
profile: Profile,
|
||||
profile: PlatformPolicy,
|
||||
fan: FanCurvePU,
|
||||
enabled: bool,
|
||||
) -> zbus::Result<()>;
|
||||
|
||||
/// Set the fan curve for the specified profile, or the profile the user is
|
||||
/// currently in if profile == None. Will also activate the fan curve.
|
||||
fn set_fan_curve(&self, profile: Profile, curve: CurveData) -> zbus::Result<()>;
|
||||
|
||||
/// Reset the stored (self) and device curve to the defaults of the
|
||||
/// platform.
|
||||
///
|
||||
/// Each platform_profile has a different default and the defualt can be
|
||||
/// read only for the currently active profile.
|
||||
fn set_active_curve_to_defaults(&self) -> zbus::Result<()>;
|
||||
|
||||
/// Reset the stored (self) and device curve to the defaults of the
|
||||
/// platform.
|
||||
///
|
||||
/// Each platform_profile has a different default and the defualt can be
|
||||
/// read only for the currently active profile.
|
||||
fn reset_profile_curves(&self, profile: Profile) -> zbus::fdo::Result<()>;
|
||||
|
||||
/// NotifyProfile signal
|
||||
#[dbus_proxy(signal)]
|
||||
async fn notify_profile(&self, profile: Profile) -> zbus::Result<Profile>;
|
||||
}
|
||||
@@ -20,16 +20,29 @@
|
||||
//!
|
||||
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
|
||||
|
||||
use rog_platform::platform::GpuMode;
|
||||
use rog_platform::platform::{GpuMode, PlatformPolicy, Properties};
|
||||
use zbus::dbus_proxy;
|
||||
|
||||
#[dbus_proxy(
|
||||
interface = "org.asuslinux.Daemon",
|
||||
default_service = "org.asuslinux.Daemon",
|
||||
default_path = "/org/asuslinux/Platform"
|
||||
)]
|
||||
trait RogBios {
|
||||
trait Platform {
|
||||
/// NextThrottleThermalPolicy method
|
||||
fn next_throttle_thermal_policy(&self) -> zbus::Result<()>;
|
||||
|
||||
/// SupportedInterfaces method
|
||||
fn supported_interfaces(&self) -> zbus::Result<Vec<String>>;
|
||||
|
||||
/// SupportedProperties method
|
||||
fn supported_properties(&self) -> zbus::Result<Vec<String>>;
|
||||
fn supported_properties(&self) -> zbus::Result<Vec<Properties>>;
|
||||
|
||||
/// ChargeControlEndThreshold property
|
||||
#[dbus_proxy(property)]
|
||||
fn charge_control_end_threshold(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_charge_control_end_threshold(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// DgpuDisable property
|
||||
#[dbus_proxy(property)]
|
||||
@@ -42,55 +55,72 @@ trait RogBios {
|
||||
/// GpuMuxMode property
|
||||
#[dbus_proxy(property)]
|
||||
fn gpu_mux_mode(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_gpu_mux_mode(&self, value: GpuMode) -> zbus::Result<()>;
|
||||
|
||||
/// MiniLedMode property
|
||||
#[dbus_proxy(property)]
|
||||
fn mini_led_mode(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_mini_led_mode(&self, value: bool) -> zbus::Result<()>;
|
||||
|
||||
/// NvDynamicBoost property
|
||||
#[dbus_proxy(property)]
|
||||
fn nv_dynamic_boost(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_nv_dynamic_boost(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// NvTempTarget property
|
||||
#[dbus_proxy(property)]
|
||||
fn nv_temp_target(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_nv_temp_target(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// PanelOd property
|
||||
#[dbus_proxy(property)]
|
||||
fn panel_od(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_panel_od(&self, value: bool) -> zbus::Result<()>;
|
||||
|
||||
/// PostAnimationSound property
|
||||
#[dbus_proxy(property)]
|
||||
fn post_animation_sound(&self) -> zbus::Result<bool>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_post_animation_sound(&self, value: bool) -> zbus::Result<()>;
|
||||
|
||||
/// PptApuSppt property
|
||||
#[dbus_proxy(property)]
|
||||
fn ppt_apu_sppt(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_ppt_apu_sppt(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// PptFppt property
|
||||
#[dbus_proxy(property)]
|
||||
fn ppt_fppt(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_ppt_fppt(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// PptPl1Spl property
|
||||
#[dbus_proxy(property)]
|
||||
fn ppt_pl1_spl(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_ppt_pl1_spl(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// PptPl2Sppt property
|
||||
#[dbus_proxy(property)]
|
||||
fn ppt_pl2_sppt(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_ppt_pl2_sppt(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// PptPlatformSppt property
|
||||
#[dbus_proxy(property)]
|
||||
fn ppt_platform_sppt(&self) -> zbus::Result<u8>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_ppt_platform_sppt(&self, value: u8) -> zbus::Result<()>;
|
||||
|
||||
/// PlatformPolicy property
|
||||
#[dbus_proxy(property)]
|
||||
fn throttle_thermal_policy(&self) -> zbus::Result<PlatformPolicy>;
|
||||
#[dbus_proxy(property)]
|
||||
fn set_throttle_thermal_policy(&self, value: PlatformPolicy) -> zbus::Result<()>;
|
||||
}
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
//! # `DBus` interface proxy for: `org.asuslinux.Daemon`
|
||||
//!
|
||||
//! This code was generated by `zbus-xmlgen` `1.0.0` from `DBus` introspection
|
||||
//! data. Source: `Interface '/org/asuslinux/Charge' from service
|
||||
//! 'org.asuslinux.Daemon' on system bus`.
|
||||
//!
|
||||
//! You may prefer to adapt it, instead of using it verbatim.
|
||||
//!
|
||||
//! More information can be found in the
|
||||
//! [Writing a client proxy](https://zeenix.pages.freedesktop.org/zbus/client.html)
|
||||
//! section of the zbus documentation.
|
||||
//!
|
||||
//! This `DBus` object implements
|
||||
//! [standard `DBus` interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
|
||||
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
|
||||
//!
|
||||
//! * [`zbus::fdo::PropertiesProxy`]
|
||||
//! * [`zbus::fdo::PeerProxy`]
|
||||
//! * [`zbus::fdo::IntrospectableProxy`]
|
||||
//!
|
||||
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
|
||||
|
||||
use zbus::dbus_proxy;
|
||||
|
||||
#[dbus_proxy(
|
||||
interface = "org.asuslinux.Daemon",
|
||||
default_path = "/org/asuslinux/Power"
|
||||
)]
|
||||
trait Power {
|
||||
/// charge_control_end_threshold method
|
||||
fn charge_control_end_threshold(&self) -> zbus::Result<u8>;
|
||||
|
||||
/// MainsOnline method
|
||||
fn mains_online(&self) -> zbus::Result<bool>;
|
||||
|
||||
/// set_charge_control_end_threshold method
|
||||
fn set_charge_control_end_threshold(&self, limit: u8) -> zbus::Result<()>;
|
||||
|
||||
/// NotifyCharge signal
|
||||
#[dbus_proxy(signal)]
|
||||
fn notify_charge_control_end_threshold(&self, limit: u8) -> zbus::Result<u8>;
|
||||
|
||||
/// NotifyMainsOnline signal
|
||||
#[dbus_proxy(signal)]
|
||||
fn notify_mains_online(&self, on: bool) -> zbus::Result<()>;
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
//! # `DBus` interface proxy for: `org.asuslinux.Daemon`
|
||||
//!
|
||||
//! This code was generated by `zbus-xmlgen` `1.0.0` from `DBus` introspection
|
||||
//! data. Source: `Interface '/org/asuslinux/Supported' from service
|
||||
//! 'org.asuslinux.Daemon' on system bus`.
|
||||
//!
|
||||
//! You may prefer to adapt it, instead of using it verbatim.
|
||||
//!
|
||||
//! More information can be found in the
|
||||
//! [Writing a client proxy](https://zeenix.pages.freedesktop.org/zbus/client.html)
|
||||
//! section of the zbus documentation.
|
||||
//!
|
||||
//! This `DBus` object implements
|
||||
//! [standard `DBus` interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
|
||||
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
|
||||
//!
|
||||
//! * [`zbus::fdo::PeerProxy`]
|
||||
//! * [`zbus::fdo::PropertiesProxy`]
|
||||
//! * [`zbus::fdo::IntrospectableProxy`]
|
||||
//!
|
||||
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
|
||||
|
||||
use rog_platform::supported::SupportedFunctions;
|
||||
use zbus::dbus_proxy;
|
||||
|
||||
#[dbus_proxy(
|
||||
interface = "org.asuslinux.Daemon",
|
||||
default_path = "/org/asuslinux/Supported"
|
||||
)]
|
||||
trait Supported {
|
||||
/// SupportedFunctions method
|
||||
fn supported_functions(&self) -> zbus::Result<SupportedFunctions>;
|
||||
}
|
||||
Reference in New Issue
Block a user