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§
Sourcefn 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 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.
Sourcefn known_network_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = usize> + '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,
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 = Option<NetworkConfig>> + '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 = Option<NetworkConfig>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return the network config that matches the given NetworkIdentifier.
Sourcefn 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 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.
Sourcefn 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 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.
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 = ()> + '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 = ()> + '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 = ()> + '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 = ()> + '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 = ()> + '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 = ()> + '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 = ()> + '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.
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,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".