class PrivilegedPeripheral

Defined at line 16404 of file fidling/gen/sdk/fidl/fuchsia.bluetooth.le/fuchsia.bluetooth.le/hlcpp/fuchsia/bluetooth/le/cpp/fidl.h

Privileged version of the Peripheral protocol.

This protocol should only be routed to trusted and system components. Using this protocol will

enable the client to break normal privacy restrictions which could leak information about the

location or owner of the device.

Use cases which reveal information are noted in documentation and marked as only available

through PrivilegedPeripheral, and are an error if used through Peripheral.

Public Members

static const char[] Name_

Public Methods

void ~PrivilegedPeripheral ()
void ListenL2cap (::fuchsia::bluetooth::le::ChannelListenerRegistryListenL2capRequest ChannelListenerRegistryListenL2capRequest, ListenL2capCallback callback)

Register a listener for incoming channels. The registry will assign a

PSM value that is unique for the local device, as well as open a

[`ChannelListener`] for accepting incoming channels. In the unlikely

event that all PSMs have been assigned, this call will fail with

`ZX_ERR_NO_RESOURCES`.

Note that the method of service discovery or advertising is defined by

the service or protocol, so it is the responsibility of the caller to

communicate the assigned PSM to any clients.

void Advertise (::fuchsia::bluetooth::le::AdvertisingParameters parameters, ::fidl::InterfaceHandle< ::fuchsia::bluetooth::le::AdvertisedPeripheral> advertised_peripheral, AdvertiseCallback callback)

Start advertising continuously as a LE peripheral. If advertising cannot

be initiated then `advertised_peripheral` will be closed and an error

will be returned.

This method may be called any number of times. To reconfigure an

advertisement, first close the original advertisement and then initiate

a new advertisement after an empty response is returned.

If the client closes its end of the

[`fuchsia.bluetooth.le/AdvertisedPeripheral`] channel,

advertising will be stopped. If the handle is closed before the request

is fulfilled, advertising may be briefly enabled before it is

terminated. AdvertisedPeripheral lifetime is bounded by the lifetime of

the Peripheral protocol, but this may be changed in the future

(https://fxbug.dev/42157682).

+ request `parameters` Parameters used while configuring the advertising

instance.

+ request `advertised_peripheral` Protocol that remains valid for the

duration of this advertising session.

- response An empty response will be sent when the advertisement is

successfully stopped (due to release of the `advertised_peripheral`

protocol). To prevent overlapping similar advertisements and transient

errors with limited advertising resources, waiting for a response is

recommended before calling `Advertise` again.

* error If an error occurs, `advertised_peripheral` will be closed and a

`PeripheralError` will be returned.

void StartAdvertising (::fuchsia::bluetooth::le::AdvertisingParameters parameters, ::fidl::InterfaceRequest< ::fuchsia::bluetooth::le::AdvertisingHandle> handle, StartAdvertisingCallback callback)

Start advertising as a LE peripheral. An empty response is sent to indicate when advertising

has successfully initiated. If advertising cannot be initiated, then the response will

contain a [`fuchsia.bluetooth.le/PeripheralError`].

This method can get called any number of times and successive calls can be made to

reconfigure the advertising parameters. However only the most recent

[`fuchsia.bluetooth.le/AdvertisingHandle`] will remain valid.

An instance of [`fuchsia.bluetooth.le/Peripheral`] can only have one active advertisement at

a time. Clients must obtain multiple Peripheral instances for multiple simultaneous

advertisements.

If the client closes its end of the [`fuchsia.bluetooth.le/AdvertisingHandle`] channel,

advertising will be stopped. If the handle is closed before the request is fulfilled,

advertising will be briefly enabled before it is terminated.

+ request `parameters` Parameters used while configuring the advertising instance.

+ request `handle` Handle that remains valid for the duration of this advertising session.

* error Returns a [`fuchsia.bluetooth.le/PeripheralError`] if advertising cannot be

initiated. In this case the `handle` will be closed.