Trait btleplug::api::Central [−][src]
pub trait Central: Send + Sync + Clone { type Peripheral: Peripheral; fn events<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = CentralEvent> + Send>>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; fn start_scan<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; fn stop_scan<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; fn peripherals<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Peripheral>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; fn peripheral<'life0, 'async_trait>(
&'life0 self,
address: BDAddr
) -> Pin<Box<dyn Future<Output = Result<Self::Peripheral>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; fn add_peripheral<'life0, 'async_trait>(
&'life0 self,
address: BDAddr
) -> Pin<Box<dyn Future<Output = Result<Self::Peripheral>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; }
Expand description
Central is the “client” of BLE. It’s able to scan for and establish connections to peripherals.
A Central can be obtained from Manager::adapters()
.
Associated Types
type Peripheral: Peripheral
Required methods
Retrieve a stream of CentralEvent
s. This stream will receive notifications when events
occur for this Central module. See CentralEvent
for the full set of possible events.
Starts a scan for BLE devices. This scan will generally continue until explicitly stopped,
although this may depend on your Bluetooth adapter. Discovered devices will be announced
to subscribers of events
and will be available via peripherals()
.
Stops scanning for BLE devices.
fn peripherals<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Peripheral>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn peripherals<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Peripheral>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Returns the list of Peripheral
s that have been discovered so far. Note that this list
may contain peripherals that are no longer available.
fn peripheral<'life0, 'async_trait>(
&'life0 self,
address: BDAddr
) -> Pin<Box<dyn Future<Output = Result<Self::Peripheral>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn peripheral<'life0, 'async_trait>(
&'life0 self,
address: BDAddr
) -> Pin<Box<dyn Future<Output = Result<Self::Peripheral>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Returns a particular Peripheral
by its address if it has been discovered.
fn add_peripheral<'life0, 'async_trait>(
&'life0 self,
address: BDAddr
) -> Pin<Box<dyn Future<Output = Result<Self::Peripheral>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn add_peripheral<'life0, 'async_trait>(
&'life0 self,
address: BDAddr
) -> Pin<Box<dyn Future<Output = Result<Self::Peripheral>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Add a Peripheral
from a MAC address without a scan result. Not supported on all Bluetooth systems.