Skip to main content

SavedNetworksManagerApi

Trait SavedNetworksManagerApi 

Source
pub trait SavedNetworksManagerApi {
    // Required methods
    fn remove<'life0, 'async_trait>(
        &'life0 self,
        network_id: NetworkIdentifier,
    ) -> Pin<Box<dyn Future<Output = Result<bool, NetworkConfigError>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn known_network_count<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn lookup<'life0, 'life1, 'async_trait>(
        &'life0 self,
        id: &'life1 NetworkIdentifier,
    ) -> Pin<Box<dyn Future<Output = Option<NetworkConfig>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn lookup_compatible<'life0, 'life1, 'async_trait>(
        &'life0 self,
        ssid: &'life1 Ssid,
        scan_security: SecurityTypeDetailed,
    ) -> Pin<Box<dyn Future<Output = Vec<NetworkConfig>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn store<'life0, 'async_trait>(
        &'life0 self,
        network_id: NetworkIdentifier,
        credential: Credential,
    ) -> Pin<Box<dyn Future<Output = Result<Option<NetworkConfig>, NetworkConfigError>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn record_connect_result<'life0, 'life1, 'async_trait>(
        &'life0 self,
        id: NetworkIdentifier,
        credential: &'life1 Credential,
        bssid: Bssid,
        connect_result: ConnectResult,
        scan_type: ScanObservation,
    ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn record_disconnect<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        id: &'life1 NetworkIdentifier,
        credential: &'life2 Credential,
        data: PastConnectionData,
    ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn record_periodic_metrics<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn record_scan_result<'life0, 'life1, 'async_trait>(
        &'life0 self,
        target_ssids: Vec<Ssid>,
        results: &'life1 HashMap<NetworkIdentifierDetailed, Vec<Bss>>,
    ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn is_network_single_bss<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        id: &'life1 NetworkIdentifier,
        credential: &'life2 Credential,
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn get_networks<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Vec<NetworkConfig>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_past_connections<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        id: &'life1 NetworkIdentifier,
        credential: &'life2 Credential,
        bssid: &'life3 Bssid,
    ) -> Pin<Box<dyn Future<Output = PastConnectionList> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
}

Required Methods§

Source

fn remove<'life0, 'async_trait>( &'life0 self, network_id: NetworkIdentifier, ) -> Pin<Box<dyn Future<Output = Result<bool, NetworkConfigError>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Attempt to remove the NetworkConfig described by the specified NetworkIdentifier. Return true if a NetworkConfig is removed and false otherwise.

Source

fn known_network_count<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the count of networks in store, including multiple values with same SSID

Source

fn lookup<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 NetworkIdentifier, ) -> Pin<Box<dyn Future<Output = Option<NetworkConfig>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Return the network config that matches the given NetworkIdentifier.

Source

fn lookup_compatible<'life0, 'life1, 'async_trait>( &'life0 self, ssid: &'life1 Ssid, scan_security: SecurityTypeDetailed, ) -> Pin<Box<dyn Future<Output = Vec<NetworkConfig>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Return a list of network configs that could be used with the security type seen in a scan. This includes configs that have a lower security type that can be upgraded to match the provided detailed security type.

Source

fn store<'life0, 'async_trait>( &'life0 self, network_id: NetworkIdentifier, credential: Credential, ) -> Pin<Box<dyn Future<Output = Result<Option<NetworkConfig>, NetworkConfigError>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Save a network. If a network with the same identifier already exists, it is overwritten and the old configuration is returned.

Source

fn record_connect_result<'life0, 'life1, 'async_trait>( &'life0 self, id: NetworkIdentifier, credential: &'life1 Credential, bssid: Bssid, connect_result: ConnectResult, scan_type: ScanObservation, ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Update the specified saved network with the result of an attempted connect. If the specified network could have been connected to with a different security type and we do not find the specified config, we will check the other possible security type. For example if a WPA3 network is specified, we will check WPA2 if it isn’t found. If the specified network is not saved, this function does not save it.

Source

fn record_disconnect<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 NetworkIdentifier, credential: &'life2 Credential, data: PastConnectionData, ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Record the disconnect from a network, to be used for things such as avoiding connections that drop soon after starting.

Source

fn record_periodic_metrics<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn record_scan_result<'life0, 'life1, 'async_trait>( &'life0 self, target_ssids: Vec<Ssid>, results: &'life1 HashMap<NetworkIdentifierDetailed, Vec<Bss>>, ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Update hidden networks probabilities based on scan results. Record either results of a passive scan or a directed active scan.

Source

fn is_network_single_bss<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 NetworkIdentifier, credential: &'life2 Credential, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn get_networks<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Vec<NetworkConfig>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_past_connections<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, id: &'life1 NetworkIdentifier, credential: &'life2 Credential, bssid: &'life3 Bssid, ) -> Pin<Box<dyn Future<Output = PastConnectionList> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§