dbus-settings-bindings/upower/examples/on_battery.rs

26 lines
589 B
Rust
Raw Normal View History

// Copyright 2021 System76 <info@system76.com>
// SPDX-License-Identifier: MPL-2.0
extern crate upower_dbus;
use futures::stream::StreamExt;
use upower_dbus::UPowerProxy;
fn main() -> zbus::Result<()> {
2024-02-19 11:28:20 -05:00
futures::executor::block_on(async move {
let connection = zbus::Connection::system().await?;
2024-02-19 11:28:20 -05:00
let upower = UPowerProxy::new(&connection).await?;
2024-02-19 11:28:20 -05:00
println!("On Battery: {:?}", upower.on_battery().await);
2024-02-19 11:28:20 -05:00
let mut stream = upower.receive_on_battery_changed().await;
2024-02-19 11:28:20 -05:00
while let Some(event) = stream.next().await {
eprintln!("{:?}", event.get().await);
}
2024-02-19 11:28:20 -05:00
Ok(())
})
}