From 52b613d2849ec34108aede515352a58f4b91bf38 Mon Sep 17 00:00:00 2001 From: Lucy Date: Mon, 7 Feb 2022 11:08:54 -0500 Subject: [PATCH] Add `NetworkManager::active_connections` --- networkmanager/src/nm.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/networkmanager/src/nm.rs b/networkmanager/src/nm.rs index d303790..f7b08aa 100644 --- a/networkmanager/src/nm.rs +++ b/networkmanager/src/nm.rs @@ -40,6 +40,19 @@ impl<'a> NetworkManager<'a> { .map(ActiveConnection::from) } + pub async fn active_connections(&self) -> Result>> { + let active_connections = self.0.active_connections().await?; + let mut out = Vec::with_capacity(active_connections.len()); + for active_connection in active_connections { + let active_connection = ActiveConnectionProxy::builder(self.0.connection()) + .path(active_connection)? + .build() + .await?; + out.push(active_connection.into()); + } + Ok(out) + } + pub async fn connectivity(&self) -> Result { self.0.connectivity().await.map(ConnectivityState::from) }