class RemoteService

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

Public Methods

void ~RemoteService ()
void DiscoverCharacteristics (DiscoverCharacteristicsCallback callback)

Returns the characteristics and characteristic descriptors that belong to

this service.

void ReadCharacteristic (uint64_t id, ReadCharacteristicCallback callback)

Reads the value of the characteristic with `id` and returns it in the

reply. If `status` indicates an error `value` will be empty.

If the characteristic has a long value (i.e. larger than the current MTU)

this method will return only the first (MTU - 1) bytes of the value. Use

ReadLongCharacteristic() to read larger values or starting at a non-zero

offset.

void ReadLongCharacteristic (uint64_t id, uint16_t offset, uint16_t max_bytes, ReadLongCharacteristicCallback callback)

Reads the complete value of a characteristic with the given `id`. This

procedure should be used if the characteristic is known to have a value

that can not be read in a single request.

Returns up to `max_bytes` octets of the characteristic value starting at

the given `offset`.

This may return an error if:

a. `max_bytes` is 0;

b. The `offset` is invalid;

c. The characteristic does not have a long value;

d. The server does not support the long read procedure.

void WriteCharacteristic (uint64_t id, ::std::vector<uint8_t> value, WriteCharacteristicCallback callback)

Writes `value` to the characteristic with `id`. This operation may return

an error if:

a. The size of `value` exceeds the current MTU.

b. The characteristic referred to by `id` does not have the 'write'

property.

void WriteLongCharacteristic (uint64_t id, uint16_t offset, ::std::vector<uint8_t> value, ::fuchsia::bluetooth::gatt::WriteOptions write_options, WriteLongCharacteristicCallback callback)

Writes `value` to the characteristic with `id`, beginning at `offset` using

the provided `write_options`.

This procedure should be used if the value to be written is too long to

fit in a single request or needs to be written at an offset. This may

return an error if:

a. The `offset` is invalid;

b. The server does not support the long write procedure.

Long Writes require multiple messages to the remote service and take longer

to execute than Short Writes. It is not recommended to send a short write

while a long write is in process to the same id and data range. The order

of the responses from this function signify the order in which the remote

service received them, not necessarily the order in which it is called.

void WriteCharacteristicWithoutResponse (uint64_t id, ::std::vector<uint8_t> value)

Writes `value` to the characteristic with `id` without soliciting an

acknowledgement from the peer. This method has no response and its delivery

cannot be confirmed.

void ReadDescriptor (uint64_t id, ReadDescriptorCallback callback)

Reads the value of the characteristic descriptor with `id` and returns it

in the reply. If `status` indicates an error, `value` can be ignored.

If the descriptor has a long value (i.e. larger than the current MTU)

this method will return only the first (MTU - 1) bytes of the value. Use

ReadLongDescriptor() to read larger values or starting at a non-zero

offset.

void ReadLongDescriptor (uint64_t id, uint16_t offset, uint16_t max_bytes, ReadLongDescriptorCallback callback)

Reads the complete value of a characteristic descriptor with the given `id`.

This procedure should be used if the descriptor is known to have a value

that can not be read in a single request.

Returns up to `max_bytes` octets of the characteristic value starting at

the given `offset`.

This may return an error if:

a. `max_bytes` is 0;

b. The `offset` is invalid;

c. The server does not support the long read procedure.

void WriteDescriptor (uint64_t id, ::std::vector<uint8_t> value, WriteDescriptorCallback callback)

Writes `value` to the characteristic descriptor with `id`. This operation

may return an error if:

a. The size of `value` exceeds the current MTU.

b. `id` refers to an internally reserved descriptor type (e.g. the Client

Characteristic Configuration descriptor).

void WriteLongDescriptor (uint64_t id, uint16_t offset, ::std::vector<uint8_t> value, WriteLongDescriptorCallback callback)

Writes `value` to the characteristic descriptor with `id`, beginning at

`offset`. This procedure should be used if the value to be written is too

long to fit in a single request or needs to be written at an offset. This

may return an error if:

a. The `offset` is invalid;

b. The server does not support the long write procedure.

c. `id` refers to an internally reserved descriptor type (e.g. the Client

Characteristic Configuration descriptor).

Long Writes require multiple messages to the remote service and take longer

to execute than Short Writes. It is not recommended to send a short write

while a long write is in process to the same id and data range. The order

of the responses from this function signify the order in which the remote

service received them, not necessarily the order in which it is called.

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

Reads characteristics and descriptors with the given `uuid`. If no values are

read, `results` will be empty. If reading a value results in a permission error,

the handle and error will be included in `results`.

NOTE: Values in `results` will be truncated to `MAX_READ_BY_TYPE_VALUE_LENGTH`

bytes. `ReadCharacteristic`, `ReadLongCharacteristic()`, `ReadDescriptor`, or

`ReadLongDescriptor()` should be used to read the complete values.

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

reducing latency.

void NotifyCharacteristic (uint64_t id, bool enable, NotifyCharacteristicCallback callback)

Subscribe or unsubscribe to notifications/indications from the characteristic with

the given `id`. Notifications or indications will be enabled if `enable` is

true or disabled if `enable` is false and they have been enabled for this

client.

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 OnCharacteristicValueUpdated event will be sent whenever

the peer sends a notification or indication. The local host will

automically confirm indications.