pub trait ClientControllerProxyInterface: Send + Sync {
type StartClientConnectionsResponseFut: Future<Output = Result<RequestStatus, Error>> + Send;
type StopClientConnectionsResponseFut: Future<Output = Result<RequestStatus, Error>> + Send;
type SaveNetworkResponseFut: Future<Output = Result<ClientControllerSaveNetworkResult, Error>> + Send;
type RemoveNetworkResponseFut: Future<Output = Result<ClientControllerRemoveNetworkResult, Error>> + Send;
type ConnectResponseFut: Future<Output = Result<RequestStatus, Error>> + Send;
// Required methods
fn start_client_connections(
&self,
) -> Self::StartClientConnectionsResponseFut;
fn stop_client_connections(&self) -> Self::StopClientConnectionsResponseFut;
fn scan_for_networks(
&self,
iterator: ServerEnd<ScanResultIteratorMarker>,
) -> Result<(), Error>;
fn save_network(
&self,
config: &NetworkConfig,
) -> Self::SaveNetworkResponseFut;
fn remove_network(
&self,
config: &NetworkConfig,
) -> Self::RemoveNetworkResponseFut;
fn get_saved_networks(
&self,
iterator: ServerEnd<NetworkConfigIteratorMarker>,
) -> Result<(), Error>;
fn connect(&self, id: &NetworkIdentifier) -> Self::ConnectResponseFut;
}