| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // https://webbluetoothchrome.github.io/web-bluetooth/#idl-def-bluetoothgattcharacteristic |
| |
| // Implement BluetoothRemoteGATTCharacteristic interface: https://crbug.com/483344 |
| |
| [ |
| DependentLifetime, |
| OriginTrialEnabled=WebBluetooth, |
| ] interface BluetoothRemoteGATTCharacteristic : EventTarget {//: CharacteristicEventHandlers { |
| readonly attribute BluetoothRemoteGATTService service; |
| readonly attribute UUID uuid; |
| readonly attribute BluetoothCharacteristicProperties properties; |
| readonly attribute DataView? value; |
| // Promise<BluetoothRemoteGATTDescriptor> getDescriptor(BluetoothDescriptorUUID descriptor); |
| // Promise<sequence<BluetoothRemoteGATTDescriptor>> getDescriptors(optional BluetoothDescriptorUUID descriptor); |
| [CallWith=ScriptState] Promise<DataView> readValue(); |
| [CallWith=ScriptState] Promise<void> writeValue(BufferSource value); |
| [CallWith=ScriptState] Promise<BluetoothRemoteGATTCharacteristic> startNotifications(); |
| [CallWith=ScriptState] Promise<BluetoothRemoteGATTCharacteristic> stopNotifications(); |
| |
| // TODO(ortuno): Move this to CharacteristicEventHandlers. |
| // http://crbug.com/537459 |
| attribute EventHandler oncharacteristicvaluechanged; |
| }; |