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§
sourcefn 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 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.
sourcefn 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 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
sourcefn 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<'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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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_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.
sourcefn 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_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.
fn record_periodic_metrics<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
sourcefn 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 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.