From e6f610687c87a9cab269e447f06a7b32f71a7c44 Mon Sep 17 00:00:00 2001 From: Reinout Meliesie Date: Sun, 17 Aug 2025 21:15:10 +0200 Subject: [PATCH] refactor(networkmanager): remove unnecessary async & unused fields --- src/clients/mod.rs | 2 +- src/clients/networkmanager/dbus.rs | 6 ------ src/clients/networkmanager/event.rs | 1 - src/clients/networkmanager/mod.rs | 16 ++++++---------- src/modules/networkmanager.rs | 1 + 5 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/clients/mod.rs b/src/clients/mod.rs index c4fce0d..cbacaa3 100644 --- a/src/clients/mod.rs +++ b/src/clients/mod.rs @@ -190,7 +190,7 @@ impl Clients { if let Some(client) = &self.network_manager { Ok(client.clone()) } else { - let client = await_sync(async move { networkmanager::create_client().await })?; + let client = networkmanager::create_client()?; self.network_manager = Some(client.clone()); Ok(client) } diff --git a/src/clients/networkmanager/dbus.rs b/src/clients/networkmanager/dbus.rs index 1c589d4..0f1e36a 100644 --- a/src/clients/networkmanager/dbus.rs +++ b/src/clients/networkmanager/dbus.rs @@ -8,14 +8,8 @@ use zbus::zvariant::{ObjectPath, OwnedValue, Str}; default_path = "/org/freedesktop/NetworkManager" )] pub(super) trait Dbus { - #[zbus(property)] - fn active_connections(&self) -> Result>>; - #[zbus(property)] fn all_devices(&self) -> Result>>; - - #[zbus(property)] - fn devices(&self) -> Result>>; } #[proxy( diff --git a/src/clients/networkmanager/event.rs b/src/clients/networkmanager/event.rs index b85307c..4963f6e 100644 --- a/src/clients/networkmanager/event.rs +++ b/src/clients/networkmanager/event.rs @@ -4,7 +4,6 @@ use crate::clients::networkmanager::dbus::{DeviceState, DeviceType}; pub enum Event { DeviceAdded { interface: String, - r#type: DeviceType, }, DeviceStateChanged { interface: String, diff --git a/src/clients/networkmanager/mod.rs b/src/clients/networkmanager/mod.rs index 52c1329..1a25183 100644 --- a/src/clients/networkmanager/mod.rs +++ b/src/clients/networkmanager/mod.rs @@ -7,6 +7,7 @@ use tokio::sync::broadcast; use zbus::Connection; use zbus::zvariant::{ObjectPath, Str}; +use crate::clients::ClientResult; use crate::clients::networkmanager::dbus::{DbusProxy, DeviceDbusProxy}; use crate::clients::networkmanager::event::Event; use crate::{register_fallible_client, spawn}; @@ -20,14 +21,12 @@ pub struct Client { } impl Client { - async fn new() -> Result { + fn new() -> Result { let (tx, _) = broadcast::channel(64); Ok(Client { tx }) } - async fn run(&self) -> Result<()> { - // TODO: Use glib::clone!() - + fn run(&self) -> Result<()> { let tx = self.tx.clone(); spawn(async move { let dbus_connection = Connection::system().await?; @@ -58,14 +57,13 @@ impl Client { } pub fn subscribe(&self) -> broadcast::Receiver { - // Maybe we should pass a direct receiver so that the UI module also gets the events from before it was started self.tx.subscribe() } } -pub async fn create_client() -> Result> { - let client = Arc::new(Client::new().await?); - client.run().await?; +pub fn create_client() -> ClientResult { + let client = Arc::new(Client::new()?); + client.run()?; Ok(client) } @@ -74,10 +72,8 @@ async fn watch_device(device_path: ObjectPath<'_>, tx: broadcast::Sender) let device = DeviceDbusProxy::new(&dbus_connection, device_path.to_owned()).await?; let interface = device.interface().await?; - let device_type = device.device_type().await?; tx.send(Event::DeviceAdded { interface: interface.to_string(), - r#type: device_type, })?; spawn(watch_device_state( diff --git a/src/modules/networkmanager.rs b/src/modules/networkmanager.rs index a19f22a..8ca128b 100644 --- a/src/modules/networkmanager.rs +++ b/src/modules/networkmanager.rs @@ -101,6 +101,7 @@ async fn handle_update_events( let icon = icons .get(&interface) .expect("the icon for the interface to be present"); + // TODO: Make this configurable at runtime let icon_name = get_icon_for_device_state(&r#type, &state); match icon_name { Some(icon_name) => {