pub trait BluetoothHost:
Send
+ Sync
+ 'static {
// Required methods
fn availability(&self) -> Result<BluetoothAvailability, BluetoothError>;
fn request_permission(
&self,
request: BluetoothPermissionRequest,
) -> Result<BluetoothPermission, BluetoothError>;
fn scan_devices(
&self,
request: BluetoothScanRequest,
) -> Result<BluetoothScanResult, BluetoothError>;
fn connect_device(
&self,
request: BluetoothConnectRequest,
) -> Result<BluetoothConnection, BluetoothError>;
fn disconnect_device(
&self,
request: BluetoothDisconnectRequest,
) -> Result<(), BluetoothError>;
fn read_characteristic(
&self,
request: BluetoothReadRequest,
) -> Result<BluetoothReadResult, BluetoothError>;
fn write_characteristic(
&self,
request: BluetoothWriteRequest,
) -> Result<(), BluetoothError>;
fn start_advertising(
&self,
request: BluetoothAdvertiseRequest,
) -> Result<BluetoothAdvertiseReceipt, BluetoothError>;
fn stop_advertising(
&self,
request: BluetoothStopAdvertiseRequest,
) -> Result<(), BluetoothError>;
}Expand description
Host-side Bluetooth provider.
Required Methods§
Sourcefn availability(&self) -> Result<BluetoothAvailability, BluetoothError>
fn availability(&self) -> Result<BluetoothAvailability, BluetoothError>
Returns adapter, permission, and Bluetooth mode availability.
Sourcefn request_permission(
&self,
request: BluetoothPermissionRequest,
) -> Result<BluetoothPermission, BluetoothError>
fn request_permission( &self, request: BluetoothPermissionRequest, ) -> Result<BluetoothPermission, BluetoothError>
Requests Bluetooth or nearby-device permission from the host.
Sourcefn scan_devices(
&self,
request: BluetoothScanRequest,
) -> Result<BluetoothScanResult, BluetoothError>
fn scan_devices( &self, request: BluetoothScanRequest, ) -> Result<BluetoothScanResult, BluetoothError>
Scans for Bluetooth devices matching the supplied filters.
Sourcefn connect_device(
&self,
request: BluetoothConnectRequest,
) -> Result<BluetoothConnection, BluetoothError>
fn connect_device( &self, request: BluetoothConnectRequest, ) -> Result<BluetoothConnection, BluetoothError>
Connects to a Bluetooth device and returns a connection handle.
Sourcefn disconnect_device(
&self,
request: BluetoothDisconnectRequest,
) -> Result<(), BluetoothError>
fn disconnect_device( &self, request: BluetoothDisconnectRequest, ) -> Result<(), BluetoothError>
Disconnects a previously opened Bluetooth connection.
Sourcefn read_characteristic(
&self,
request: BluetoothReadRequest,
) -> Result<BluetoothReadResult, BluetoothError>
fn read_characteristic( &self, request: BluetoothReadRequest, ) -> Result<BluetoothReadResult, BluetoothError>
Reads bytes from a characteristic on an active connection.
Sourcefn write_characteristic(
&self,
request: BluetoothWriteRequest,
) -> Result<(), BluetoothError>
fn write_characteristic( &self, request: BluetoothWriteRequest, ) -> Result<(), BluetoothError>
Writes bytes to a characteristic on an active connection.
Sourcefn start_advertising(
&self,
request: BluetoothAdvertiseRequest,
) -> Result<BluetoothAdvertiseReceipt, BluetoothError>
fn start_advertising( &self, request: BluetoothAdvertiseRequest, ) -> Result<BluetoothAdvertiseReceipt, BluetoothError>
Starts Bluetooth advertising where the platform permits it.
Sourcefn stop_advertising(
&self,
request: BluetoothStopAdvertiseRequest,
) -> Result<(), BluetoothError>
fn stop_advertising( &self, request: BluetoothStopAdvertiseRequest, ) -> Result<(), BluetoothError>
Stops a previously started Bluetooth advertisement.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".