// 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-bluetoothuuid

// Implement BluetoothUUID: http://crbug.com/491441
// Significant TODOs remain in BluetoothUUID.cpp.

[
    GarbageCollected,
    RuntimeEnabled=WebBluetooth,
] interface BluetoothUUID {
    [RaisesException] static UUID getService((DOMString or unsigned long) name);
    [RaisesException] static UUID getCharacteristic((DOMString or unsigned long) name);
    [RaisesException] static UUID getDescriptor((DOMString or unsigned long) name);

    static UUID canonicalUUID([EnforceRange] unsigned long alias);
};

typedef DOMString UUID;

typedef (DOMString or unsigned long) BluetoothServiceUUID;

typedef (DOMString or unsigned long) BluetoothCharacteristicUUID;

typedef (DOMString or unsigned long) BluetoothDescriptorUUID;
