123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // Copyright 2016 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 "device/bluetooth/bluetooth_classic_win_fake.h"
- #include "base/check_op.h"
- #include "base/notreached.h"
- #include "base/strings/string_util.h"
- namespace device {
- namespace win {
- BluetoothClassicWrapperFake::BluetoothClassicWrapperFake()
- : last_error_(ERROR_SUCCESS) {}
- BluetoothClassicWrapperFake::~BluetoothClassicWrapperFake() {}
- HBLUETOOTH_RADIO_FIND BluetoothClassicWrapperFake::FindFirstRadio(
- const BLUETOOTH_FIND_RADIO_PARAMS* params) {
- if (simulated_radios_) {
- last_error_ = ERROR_SUCCESS;
- return (PVOID)simulated_radios_.get();
- }
- last_error_ = ERROR_NO_MORE_ITEMS;
- return NULL;
- }
- DWORD BluetoothClassicWrapperFake::GetRadioInfo(
- PBLUETOOTH_RADIO_INFO out_radio_info) {
- if (simulated_radios_) {
- *out_radio_info = simulated_radios_->radio_info;
- last_error_ = ERROR_SUCCESS;
- return last_error_;
- }
- last_error_ = ERROR_INVALID_HANDLE;
- return last_error_;
- }
- BOOL BluetoothClassicWrapperFake::FindRadioClose(HBLUETOOTH_RADIO_FIND handle) {
- DCHECK_EQ(handle, (PVOID)simulated_radios_.get());
- return TRUE;
- }
- BOOL BluetoothClassicWrapperFake::IsConnectable() {
- if (simulated_radios_) {
- last_error_ = ERROR_SUCCESS;
- return simulated_radios_->is_connectable;
- }
- last_error_ = ERROR_INVALID_HANDLE;
- return FALSE;
- }
- HBLUETOOTH_DEVICE_FIND BluetoothClassicWrapperFake::FindFirstDevice(
- const BLUETOOTH_DEVICE_SEARCH_PARAMS* params,
- BLUETOOTH_DEVICE_INFO* out_device_info) {
- last_error_ = ERROR_NO_MORE_ITEMS;
- return NULL;
- }
- BOOL BluetoothClassicWrapperFake::FindNextDevice(
- HBLUETOOTH_DEVICE_FIND handle,
- BLUETOOTH_DEVICE_INFO* out_device_info) {
- NOTIMPLEMENTED();
- return TRUE;
- }
- BOOL BluetoothClassicWrapperFake::FindDeviceClose(
- HBLUETOOTH_DEVICE_FIND handle) {
- return TRUE;
- }
- BOOL BluetoothClassicWrapperFake::EnableDiscovery(BOOL is_enable) {
- return TRUE;
- }
- BOOL BluetoothClassicWrapperFake::EnableIncomingConnections(BOOL is_enable) {
- return TRUE;
- }
- DWORD BluetoothClassicWrapperFake::LastError() {
- return last_error_;
- }
- bool BluetoothClassicWrapperFake::HasHandle() {
- return bool(simulated_radios_);
- }
- BluetoothRadio* BluetoothClassicWrapperFake::SimulateARadio(
- std::u16string name,
- BLUETOOTH_ADDRESS address) {
- BluetoothRadio* radio = new BluetoothRadio();
- radio->is_connectable = true; // set it connectable by default.
- size_t length =
- ((name.size() > BLUETOOTH_MAX_NAME_SIZE) ? BLUETOOTH_MAX_NAME_SIZE
- : name.size());
- wcsncpy(radio->radio_info.szName, base::as_wcstr(name), length);
- radio->radio_info.address = address;
- simulated_radios_.reset(radio);
- return radio;
- }
- } // namespace device
- } // namespace win
|