blob: 7e586e6e56b0fbadaf3b7b51d90e7f450f60cfa0 [file]
// Copyright 2017 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.
#include "modules/bluetooth/BluetoothRemoteGATTUtils.h"
namespace blink {
// static
DOMDataView* BluetoothRemoteGATTUtils::ConvertWTFVectorToDataView(
const WTF::Vector<uint8_t>& wtfVector) {
static_assert(sizeof(*wtfVector.data()) == 1,
"uint8_t should be a single byte");
DOMArrayBuffer* domBuffer =
DOMArrayBuffer::create(wtfVector.data(), wtfVector.size());
return DOMDataView::create(domBuffer, 0, wtfVector.size());
}
// static
DOMException* BluetoothRemoteGATTUtils::CreateDOMException(ExceptionType type) {
switch (type) {
case ExceptionType::kGATTServerDisconnected:
return DOMException::create(
NetworkError,
"GATT Server disconnected while performing a GATT operation.");
case ExceptionType::kGATTServerNotConnected:
return DOMException::create(
NetworkError,
"GATT Server is disconnected. Cannot perform GATT operations.");
case ExceptionType::kInvalidCharacteristic:
return DOMException::create(
InvalidStateError,
"Characteristic is no longer valid. Remember to retrieve the "
"characteristic again after reconnecting.");
default:
NOTREACHED();
return nullptr;
}
}
} // namespace blink