pub trait CentralProxyInterface: Send + Sync {
type ListenL2capResponseFut: Future<Output = Result<ChannelListenerRegistryListenL2capResult, Error>> + Send;
type ScanResponseFut: Future<Output = Result<(), Error>> + Send;
type CreateConnectedIsochronousGroupResponseFut: Future<Output = Result<CentralCreateConnectedIsochronousGroupResult, Error>> + Send;
type GetPeripheralsResponseFut: Future<Output = Result<Vec<RemoteDevice>, Error>> + Send;
type GetPeripheralResponseFut: Future<Output = Result<Option<Box<RemoteDevice>>, Error>> + Send;
type StartScanResponseFut: Future<Output = Result<Status, Error>> + Send;
type ConnectPeripheralResponseFut: Future<Output = Result<Status, Error>> + Send;
type DisconnectPeripheralResponseFut: Future<Output = Result<Status, Error>> + Send;
// Required methods
fn listen_l2cap(
&self,
payload: ChannelListenerRegistryListenL2capRequest,
) -> Self::ListenL2capResponseFut;
fn scan(
&self,
options: &ScanOptions,
result_watcher: ServerEnd<ScanResultWatcherMarker>,
) -> Self::ScanResponseFut;
fn connect(
&self,
id: &PeerId,
options: &ConnectionOptions,
handle: ServerEnd<ConnectionMarker>,
) -> Result<(), Error>;
fn sync_to_periodic_advertising(
&self,
payload: CentralSyncToPeriodicAdvertisingRequest,
) -> Result<(), Error>;
fn create_connected_isochronous_group(
&self,
payload: CentralCreateConnectedIsochronousGroupRequest,
) -> Self::CreateConnectedIsochronousGroupResponseFut;
fn get_peripherals(
&self,
service_uuids: Option<&[String]>,
) -> Self::GetPeripheralsResponseFut;
fn get_peripheral(&self, identifier: &str) -> Self::GetPeripheralResponseFut;
fn start_scan(
&self,
filter: Option<&ScanFilter>,
) -> Self::StartScanResponseFut;
fn stop_scan(&self) -> Result<(), Error>;
fn connect_peripheral(
&self,
identifier: &str,
options: &ConnectionOptions,
gatt_client: ServerEnd<ClientMarker>,
) -> Self::ConnectPeripheralResponseFut;
fn disconnect_peripheral(
&self,
identifier: &str,
) -> Self::DisconnectPeripheralResponseFut;
}Required Associated Types§
type ListenL2capResponseFut: Future<Output = Result<ChannelListenerRegistryListenL2capResult, Error>> + Send
type ScanResponseFut: Future<Output = Result<(), Error>> + Send
type CreateConnectedIsochronousGroupResponseFut: Future<Output = Result<CentralCreateConnectedIsochronousGroupResult, Error>> + Send
type GetPeripheralsResponseFut: Future<Output = Result<Vec<RemoteDevice>, Error>> + Send
type GetPeripheralResponseFut: Future<Output = Result<Option<Box<RemoteDevice>>, Error>> + Send
type StartScanResponseFut: Future<Output = Result<Status, Error>> + Send
type ConnectPeripheralResponseFut: Future<Output = Result<Status, Error>> + Send
type DisconnectPeripheralResponseFut: Future<Output = Result<Status, Error>> + Send
Required Methods§
fn listen_l2cap( &self, payload: ChannelListenerRegistryListenL2capRequest, ) -> Self::ListenL2capResponseFut
fn scan( &self, options: &ScanOptions, result_watcher: ServerEnd<ScanResultWatcherMarker>, ) -> Self::ScanResponseFut
fn connect( &self, id: &PeerId, options: &ConnectionOptions, handle: ServerEnd<ConnectionMarker>, ) -> Result<(), Error>
fn sync_to_periodic_advertising( &self, payload: CentralSyncToPeriodicAdvertisingRequest, ) -> Result<(), Error>
fn create_connected_isochronous_group( &self, payload: CentralCreateConnectedIsochronousGroupRequest, ) -> Self::CreateConnectedIsochronousGroupResponseFut
fn get_peripherals( &self, service_uuids: Option<&[String]>, ) -> Self::GetPeripheralsResponseFut
fn get_peripheral(&self, identifier: &str) -> Self::GetPeripheralResponseFut
fn start_scan(&self, filter: Option<&ScanFilter>) -> Self::StartScanResponseFut
fn stop_scan(&self) -> Result<(), Error>
fn connect_peripheral( &self, identifier: &str, options: &ConnectionOptions, gatt_client: ServerEnd<ClientMarker>, ) -> Self::ConnectPeripheralResponseFut
fn disconnect_peripheral( &self, identifier: &str, ) -> Self::DisconnectPeripheralResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".