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.