pub trait SavedNetworksManagerApi: Send + Sync {
    // Required methods
    fn remove<'life0, 'async_trait>(
        &'life0 self,
        network_id: NetworkIdentifier,
        credential: Credential
    ) -> Pin<Box<dyn Future<Output = Result<bool, NetworkConfigError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn known_network_count<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = usize> + Send + '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 = Vec<NetworkConfig>> + Send + '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>> + Send + '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>> + Send + '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 = ()> + Send + '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 = ()> + Send + '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 = ()> + Send + '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 = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_networks<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Vec<NetworkConfig>> + Send + '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> + Send + '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, credential: Credential ) -> Pin<Box<dyn Future<Output = Result<bool, NetworkConfigError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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

source

fn known_network_count<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = usize> + Send + '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 = Vec<NetworkConfig>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Return a list of network configs that match the given SSID.

source

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

Save a network by SSID and password. If the SSID and password have been saved together before, do not modify the saved config. Update the legacy storage to keep it consistent with what it did before the new version. If a network is pushed out because of the newly saved network, this will return the removed config.

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 = ()> + Send + '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 = ()> + Send + '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 = ()> + Send + '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 = ()> + Send + '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 get_networks<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Vec<NetworkConfig>> + Send + '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> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Implementors§