Skip to main content

NetworkSnapshot

Struct NetworkSnapshot 

Source
#[non_exhaustive]
pub struct NetworkSnapshot { pub wifi: RadioState, pub wwan: RadioState, pub bluetooth: RadioState, pub airplane_mode: AirplaneModeState, pub connectivity: ConnectivityReport, pub active_connections: Vec<ActiveConnection>, pub access_points: Vec<AccessPoint>, pub saved_connections: Vec<SavedConnection>, pub saved_wifi_profiles: Vec<SavedConnection>, pub saved_vpn_profiles: Vec<SavedConnection>, pub wifi_devices: Vec<WifiDevice>, pub wired_devices: Vec<Device>, }
Expand description

Point-in-time state needed by GUI network applets.

Build this with NetworkManager::snapshot after receiving a NetworkEvent.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§wifi: RadioState

Wi-Fi radio state.

§wwan: RadioState

WWAN/mobile broadband radio state.

§bluetooth: RadioState

Bluetooth radio state.

§airplane_mode: AirplaneModeState

Aggregated airplane-mode state.

§connectivity: ConnectivityReport

Connectivity and captive-portal state.

§active_connections: Vec<ActiveConnection>

Active connections classified for applet rendering.

§access_points: Vec<AccessPoint>

Visible access points, one entry per BSSID.

§saved_connections: Vec<SavedConnection>

All saved connection profiles.

§saved_wifi_profiles: Vec<SavedConnection>

Saved Wi-Fi profiles.

§saved_vpn_profiles: Vec<SavedConnection>

Saved VPN profiles, including kernel WireGuard profiles.

§wifi_devices: Vec<WifiDevice>

Wi-Fi device summaries.

§wired_devices: Vec<Device>

Wired Ethernet devices from the broad device model.

Implementations§

Source§

impl NetworkSnapshot

Source

pub fn wifi_groups(&self) -> Vec<WifiNetworkGroup>

Groups visible access points by (interface, ssid) for applet Wi-Fi rows.

Each group keeps every BSSID for advanced UI behavior and exposes the strongest AP as the representative row. Matching saved profiles are attached when their SSID, optional interface binding, and optional BSSID binding match the visible group.

Source

pub fn known_wifi_by_ssid(&self) -> HashMap<String, Vec<SavedConnectionBrief>>

Returns saved Wi-Fi profiles keyed by SSID.

Duplicate profiles for the same SSID are preserved. Hidden profiles are included when their saved settings contain an SSID, even if no visible AP appears in this snapshot.

Source

pub fn saved_vpn_map(&self) -> HashMap<String, SavedVpnSummary>

Returns saved VPN profiles keyed by UUID.

Both NetworkManager plugin VPNs and native WireGuard profiles are included. A summary is marked active when a typed active VPN connection has the same UUID.

Source

pub fn applet_summary(&self) -> AppletNetworkSummary

Builds an applet-oriented summary from this snapshot.

This is equivalent to calling Self::wifi_groups, Self::known_wifi_by_ssid, and Self::saved_vpn_map on the same snapshot and bundling the results with active connection, connectivity, and airplane-mode state.

Trait Implementations§

Source§

impl Clone for NetworkSnapshot

Source§

fn clone(&self) -> NetworkSnapshot

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NetworkSnapshot

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more