B2G/Bluetooth/WebBluetooth-v2/BluetoothGattService

From MozillaWiki
Jump to: navigation, search

Overview

BluetoothGattService represents the service provided by GATT server. BluetoothGattService consists of the service definition, a list of included services which this service references, and a list of characteristics in this service.

Interfaces

BluetoothGattService

[CheckPermissions="bluetooth",
 Constructor(BluetoothGattServiceInit init)]
interface BluetoothGattService
{
  [Cached, Pure] readonly attribute sequence<BluetoothGattCharacteristic> characteristics;
  [Cached, Pure] readonly attribute sequence<BluetoothGattService> includedServices;

  readonly attribute boolean isPrimary;
  readonly attribute DOMString uuid;
  readonly attribute unsigned short instanceId;

  [NewObject] Promise<BluetoothGattCharacteristic> addCharacteristic(DOMString uuid, GattPermissions permissions, GattCharacteristicProperties properties, ArrayBuffer value);
  [NewObject] Promise<void> addIncludedService(BluetoothGattService service);
};

BluetoothGattServiceInit

dictionary BluetoothGattServiceInit
{
  boolean isPrimary = false;
  DOMString uuid = "";
};

Properties

characteristics

Description
A cached array of charactertistics contained in this service.
Value Type
sequence<BluetoothGattCharacteristic>
Default Value
Empty array (array with length = 0)

includedServices

Description
A cached array of included services referenced by this service.
Value Type
sequence<BluetoothGattService>
Default Value
Empty array (array with length = 0)

isPrimary

Description
Indicate whether this is a primary or secondary service.
Value Type
boolean
Default Value
false

uuid

Description
This property stores the UUID of this service.
Value Type
DOMString
Default Value
Empty string ("")

instanceId

Description
This property stores the instance id of this service.
Value Type
unsigned short
Default Value
0

Methods

addCharacteristic(DOMString uuid, GattPermissions permissions, GattCharacteristicProperties properties, ArrayBuffer value)

Description
The method adds a characteristic to this service.
Parameter
uuid
UUID of the characteristic to add.
permissions
GattPermissions of the characteristic to add.
properties
GattCharacteristicProperties of the characteristic to add
value
The initial value of this characteristic.
Return
A Promise to indicate whether the operation is resolved or rejected. Once the Promise is resolved, the property characteristics is also updated with the added characteristic.

addIncludedService(BluetoothGattService service)

Description
The method adds an included service to this service. The included service to be added should be an existing service of the same GATT server, otherwise the promise will be rejected.
Parameter
service
The BluetoothGattService object to add.
Return
A Promise to indicate whether the operation is resolved or rejected. Once the Promise is resolved, it returns the added BluetoothGattService object, and property includedServices is also updated with the added service.