diff --git a/networkmanager/src/nm.rs b/networkmanager/src/nm.rs index f7b08aa..a5d96dc 100644 --- a/networkmanager/src/nm.rs +++ b/networkmanager/src/nm.rs @@ -11,11 +11,20 @@ use crate::{ }, settings::{connection::Connection, NetworkManagerSettings}, }; +use std::ops::Deref; use zbus::{zvariant::ObjectPath, Result}; #[derive(Debug)] pub struct NetworkManager<'a>(NetworkManagerProxy<'a>); +impl<'a> Deref for NetworkManager<'a> { + type Target = NetworkManagerProxy<'a>; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + impl<'a> NetworkManager<'a> { pub async fn new(connection: &'a zbus::Connection) -> Result> { NetworkManagerProxy::new(connection).await.map(Self) diff --git a/networkmanager/src/settings.rs b/networkmanager/src/settings.rs index 3dccf29..1c70f79 100644 --- a/networkmanager/src/settings.rs +++ b/networkmanager/src/settings.rs @@ -4,11 +4,20 @@ pub mod connection; use self::connection::Connection; use crate::interface::settings::{connection::ConnectionSettingsProxy, SettingsProxy}; +use std::ops::Deref; use zbus::Result; #[derive(Debug)] pub struct NetworkManagerSettings<'a>(SettingsProxy<'a>); +impl<'a> Deref for NetworkManagerSettings<'a> { + type Target = SettingsProxy<'a>; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + impl<'a> NetworkManagerSettings<'a> { pub async fn new(connection: &'a zbus::Connection) -> Result> { SettingsProxy::new(connection).await.map(Self)