class RemoteService

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

Public Methods

void ~RemoteService ()
void DiscoverCharacteristics (DiscoverCharacteristicsCallback callback)

Returns the characteristics and characteristic descriptors that belong to

this service.

void ReadByType (::fuchsia::bluetooth::Uuid uuid, ReadByTypeCallback callback)

Reads characteristics and descriptors with the given `uuid`.

This method is useful for reading values before discovery has completed,

thereby reducing latency.

+ request `uuid` The UUID of the characteristics/descriptors to read.

- response `results` The results of the read. May be empty if no

matching values are read. If reading a value results in a

permission error, the handle and error will be included.

* error Returns `INVALID_PARAMETERS` if `uuid` refers to an internally

reserved descriptor type (e.g. the Client Characteristic

Configuration descriptor).

* error Returns `TOO_MANY_RESULTS` if more results were read than can fit

in a FIDL response. Consider reading characteristics/descriptors

individually after performing discovery.

* error Returns `FAILURE` if the server returns an error not specific to

a single result.

void ReadCharacteristic (::fuchsia::bluetooth::gatt2::Handle handle, ::fuchsia::bluetooth::gatt2::ReadOptions options, ReadCharacteristicCallback callback)

Reads the value of a characteristic with the given `handle`.

+ request `handle` The characteristic handle to read.

+ request `options` Options that apply to the read.

- response `value` The value of the characteristic.

* error Returns `INVALID_HANDLE` if `handle` is invalid.

* error Returns `INVALID_PARAMETERS` if `options` is invalid.

* error Returns `READ_NOT_PERMITTED` or `INSUFFICIENT_*` if the server

rejects the read request.

* error Returns `FAILURE` if the server returns an error.

void WriteCharacteristic (::fuchsia::bluetooth::gatt2::Handle handle, ::std::vector<uint8_t> value, ::fuchsia::bluetooth::gatt2::WriteOptions options, WriteCharacteristicCallback callback)

Writes `value` to the characteristic with `handle` using the provided

`options`.

It is not recommended to send additional writes while a write is already

in progress (the server may receive simultaneous writes in any order).

+ request `handle` The characteristic to be written to.

+ request `value` The value to be written.

+ request `options` Options that apply to the write.

- response An empty response will be sent when a success response is

received from the server (or immediately if

`options.with_response` is false)

* error Returns `INVALID_HANDLE` if `handle` is invalid.

* error Returns `INVALID_PARAMETERS` if `options` is invalid.

* error Returns `WRITE_NOT_PERMITTED` or `INSUFFICIENT_*`if the server

rejects the write request with a reason.

* error Returns `FAILURE` if the server returns an error.

void ReadDescriptor (::fuchsia::bluetooth::gatt2::Handle handle, ::fuchsia::bluetooth::gatt2::ReadOptions options, ReadDescriptorCallback callback)

Reads the value of the characteristic descriptor with `handle` and

returns it in the reply.

+ request `handle` The descriptor handle to read.

+ request `options` Options that apply to the read.

- response `value` The value of the descriptor.

* error Returns `INVALID_HANDLE` if `handle` is invalid.

* error Returns `INVALID_PARAMETERS` if `options` is invalid.

* error Returns `READ_NOT_PERMITTED` or `INSUFFICIENT_*` if the server

rejects the read request.

* error Returns `FAILURE` if the server returns an error.

void WriteDescriptor (::fuchsia::bluetooth::gatt2::Handle handle, ::std::vector<uint8_t> value, ::fuchsia::bluetooth::gatt2::WriteOptions options, WriteDescriptorCallback callback)

Writes `value` to the characteristic descriptor with `handle`.

It is not recommended to send additional writes while a write is already

in progress (the server may receive simultaneous writes in any order).

+ request `handle` The descriptor handle to written to.

+ request `value` The value to be written.

+ request `options` Options that apply to the write.

- response An empty response will be sent when a success response is

received from the server (or immediately if

`options.with_response` is false)

* error Returns `INVALID_HANDLE` if `handle` is invalid or refers to an

internally reserved descriptor type (e.g. the Client

Characteristic Configuration descriptor).

* error Returns `INVALID_PARAMETERS` if `options` is invalid.

* error Returns `WRITE_NOT_PERMITTED` or `INSUFFICIENT_*` if the server

rejects the write with a reason.

* error Returns `FAILURE` if the server returns an error.

void RegisterCharacteristicNotifier (::fuchsia::bluetooth::gatt2::Handle handle, ::fidl::InterfaceHandle< ::fuchsia::bluetooth::gatt2::CharacteristicNotifier> notifier, RegisterCharacteristicNotifierCallback callback)

Subscribe to notifications

&

indications from the characteristic with

the given `handle`.

Either notifications or indications will be enabled depending on

characteristic properties. Indications will be preferred if they are

supported. This operation fails if the characteristic does not have the

"notify" or "indicate" property.

A write request will be issued to configure the characteristic for

notifications/indications if it contains a Client Characteristic

Configuration descriptor. This method fails if an error occurs while

writing to the descriptor.

On success, the `notifier` protocol can be used to be notified when

the peer sends a notification or indication. Indications are

automatically confirmed. When the protocol is dropped, the subscription

may end if no other local client is receiving notifications.

+ request `handle` the characteristic handle.

+ request `notifier` the protocol used for notifications.

- response An empty response will be sent immediately if registration

succeeds.

* error Returns a `FAILURE` if the characteristic does not support

notifications or indications.

* error Returns a `INVALID_HANDLE` if `handle` is invalid.

* error Returns a `WRITE_NOT_PERMITTED` or `INSUFFICIENT_*`for a

descriptor write error.