template <>

class Server

Defined at line 919 of file fidling/gen/sdk/fidl/fuchsia.hardware.bluetooth/fuchsia.hardware.bluetooth/cpp/fidl/fuchsia.hardware.bluetooth/cpp/natural_messaging.h

Public Methods

void Publish (PublishRequest & request, PublishCompleter::Sync & completer)

Publish a bt-hci device using the provided `settings`. Each Emulator instance can only

manage a single bt-hci device. Returns Emulator.`HCI_ALREADY_PUBLISHED` if the device has

already been published.

void AddLowEnergyPeer (AddLowEnergyPeerRequest & request, AddLowEnergyPeerCompleter::Sync & completer)

Inserts a new LE peer device to be emulated by this controller. Once registered, the state

of the fake peer can be driven and observed using the `peer` handle.

A reply will be sent to acknowledge the creation of the fake peer. If a peer cannot be

initialized (e.g. due to a missing required field in `parameters` or for containing an

address that is already emulated) the `peer` handle will be closed and an error reply will

be sent.

The peer will appear in advertising reports and respond to requests according to its

configuration as long as the `peer` channel is open. The emulator stops emulating this peer

when the channel gets closed, which makes it no longer discoverable and not respond to any

requests.

void AddBredrPeer (AddBredrPeerRequest & request, AddBredrPeerCompleter::Sync & completer)

Inserts a new BR/EDR peer device to be emulated by this controller. Once registered, the state

of the fake peer can be driven and observed using the `peer` handle.

A reply will be sent to acknowledge the creation of the fake peer. If a peer cannot be

initialized (e.g. due to a missing required field in `parameters` or for containing an

address that is already emulated) the `peer` handle will be closed and an error reply will

be sent.

The peer will appear in inquiry results and respond to requests according to its

configuration as long as the `peer` channel is open. The emulator stops emulating this peer

when the channel gets closed, which makes it no longer discoverable and not respond to any

requests.

void Server ()

Defined at line 922 of file fidling/gen/sdk/fidl/fuchsia.hardware.bluetooth/fuchsia.hardware.bluetooth/cpp/fidl/fuchsia.hardware.bluetooth/cpp/natural_messaging.h

void WatchControllerParameters (WatchControllerParametersCompleter::Sync & completer)

Hanging get pattern for the controller parameter state will not resolve until the state has

changed from the last response.

void WatchLeScanStates (WatchLeScanStatesCompleter::Sync & completer)

Returns a vector of the least to most recent states for the link layer LE scan procedure.

This method returns when there has been at least one state change since the last invocation

of this method by this client.

Multiple calls to this method can be outstanding at a given time. All calls will resolve in

a response as soon as there is a change to the scan state.

void WatchLegacyAdvertisingStates (WatchLegacyAdvertisingStatesCompleter::Sync & completer)

Returns a vector of the least to most recent states for the link layer LE legacy

advertising procedure. This method returns when there has been at least one state change

since the last invocation of this method by this client.

Multiple calls to this method can be outstanding at a given time. All calls will resolve in

a response as soon as there is a change to the scan state.

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~Server ()

Defined at line 923 of file fidling/gen/sdk/fidl/fuchsia.hardware.bluetooth/fuchsia.hardware.bluetooth/cpp/fidl/fuchsia.hardware.bluetooth/cpp/natural_messaging.h