diff --git a/networkmanager/src/active_connection.rs b/networkmanager/src/active_connection.rs index 74b2d2b..fb64f3a 100644 --- a/networkmanager/src/active_connection.rs +++ b/networkmanager/src/active_connection.rs @@ -7,7 +7,7 @@ use crate::{ active_connection::ActiveConnectionProxy, config::{ip4::Ipv4ConfigProxy, ip6::Ipv6ConfigProxy}, device::DeviceProxy, - enums::{ActivationStateFlags, State}, + enums::{ActivationStateFlags, ActiveConnectionState}, }, }; use std::ops::Deref; @@ -46,8 +46,8 @@ impl<'a> ActiveConnection<'a> { Ok(Ipv6Config::from(config)) } - pub async fn state(&self) -> Result { - self.0.state().await.map(State::from) + pub async fn state(&self) -> Result { + self.0.state().await.map(ActiveConnectionState::from) } pub async fn state_flags(&self) -> Result { diff --git a/networkmanager/src/interface/enums.rs b/networkmanager/src/interface/enums.rs index ac670d5..9b4d129 100644 --- a/networkmanager/src/interface/enums.rs +++ b/networkmanager/src/interface/enums.rs @@ -2,7 +2,7 @@ use bitflags::bitflags; #[derive(Debug, Clone, Copy)] -pub enum State { +pub enum NmState { Asleep, Disconnected, Disconnecting, @@ -13,23 +13,23 @@ pub enum State { Unknown, } -impl From for State { - fn from(state: u32) -> State { +impl From for NmState { + fn from(state: u32) -> NmState { match state { - 10 => State::Asleep, - 20 => State::Disconnected, - 30 => State::Disconnecting, - 40 => State::Connecting, - 50 => State::ConnectedLocal, - 60 => State::ConnectedSite, - 70 => State::ConnectedGlobal, - _ => State::Unknown, + 10 => NmState::Asleep, + 20 => NmState::Disconnected, + 30 => NmState::Disconnecting, + 40 => NmState::Connecting, + 50 => NmState::ConnectedLocal, + 60 => NmState::ConnectedSite, + 70 => NmState::ConnectedGlobal, + _ => NmState::Unknown, } } } #[derive(Debug, Clone, Copy)] -pub enum ConnectivityState { +pub enum NmConnectivityState { None, Portal, Loss, @@ -37,14 +37,14 @@ pub enum ConnectivityState { Unknown, } -impl From for ConnectivityState { - fn from(state: u32) -> ConnectivityState { +impl From for NmConnectivityState { + fn from(state: u32) -> NmConnectivityState { match state { - 1 => ConnectivityState::None, - 2 => ConnectivityState::Portal, - 3 => ConnectivityState::Loss, - 4 => ConnectivityState::Full, - _ => ConnectivityState::Unknown, + 1 => NmConnectivityState::None, + 2 => NmConnectivityState::Portal, + 3 => NmConnectivityState::Loss, + 4 => NmConnectivityState::Full, + _ => NmConnectivityState::Unknown, } } } @@ -113,6 +113,27 @@ impl From for DeviceState { } } +#[derive(Debug, Clone, Copy)] +pub enum ActiveConnectionState { + Unknown, + Activating, + Activated, + Deactivating, + Deactivated, +} + +impl From for ActiveConnectionState { + fn from(device_state: u32) -> Self { + match device_state { + 1 => ActiveConnectionState::Activating, + 2 => ActiveConnectionState::Activated, + 3 => ActiveConnectionState::Deactivating, + 4 => ActiveConnectionState::Deactivated, + _ => ActiveConnectionState::Unknown, + } + } +} + #[derive(Debug, Clone, Copy)] pub enum WifiMode { AdHoc, diff --git a/networkmanager/src/nm.rs b/networkmanager/src/nm.rs index a5d96dc..e9a94ca 100644 --- a/networkmanager/src/nm.rs +++ b/networkmanager/src/nm.rs @@ -6,7 +6,7 @@ use crate::{ interface::{ active_connection::ActiveConnectionProxy, device::DeviceProxy, - enums::{ConnectivityState, State}, + enums::{NmConnectivityState, NmState}, NetworkManagerProxy, }, settings::{connection::Connection, NetworkManagerSettings}, @@ -62,15 +62,15 @@ impl<'a> NetworkManager<'a> { Ok(out) } - pub async fn connectivity(&self) -> Result { - self.0.connectivity().await.map(ConnectivityState::from) + pub async fn connectivity(&self) -> Result { + self.0.connectivity().await.map(NmConnectivityState::from) } - pub async fn check_connectivity(&self) -> Result { + pub async fn check_connectivity(&self) -> Result { self.0 .check_connectivity() .await - .map(ConnectivityState::from) + .map(NmConnectivityState::from) } pub async fn deactivate_connection(&self, connection: &'a ActiveConnection<'a>) -> Result<()> { @@ -103,8 +103,8 @@ impl<'a> NetworkManager<'a> { Ok(out) } - pub async fn state(&self) -> Result { - self.0.state().await.map(State::from) + pub async fn state(&self) -> Result { + self.0.state().await.map(NmState::from) } pub async fn settings(&'a self) -> Result> {