| // 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.h" |
| |
| namespace device { |
| namespace win { |
| |
| BluetoothClassicWrapper::BluetoothClassicWrapper() {} |
| BluetoothClassicWrapper::~BluetoothClassicWrapper() {} |
| |
| HBLUETOOTH_RADIO_FIND BluetoothClassicWrapper::FindFirstRadio( |
| const BLUETOOTH_FIND_RADIO_PARAMS* params) { |
| HANDLE radio_handle = INVALID_HANDLE_VALUE; |
| HBLUETOOTH_RADIO_FIND radio_find_handle = |
| BluetoothFindFirstRadio(params, &radio_handle); |
| if (radio_find_handle) { |
| DCHECK_NE(radio_handle, INVALID_HANDLE_VALUE); |
| opened_radio_handle_.Set(radio_handle); |
| } |
| return radio_find_handle; |
| } |
| |
| DWORD BluetoothClassicWrapper::GetRadioInfo( |
| PBLUETOOTH_RADIO_INFO out_radio_info) { |
| DCHECK(opened_radio_handle_.IsValid()); |
| return BluetoothGetRadioInfo(opened_radio_handle_.Get(), out_radio_info); |
| } |
| |
| BOOL BluetoothClassicWrapper::FindRadioClose(HBLUETOOTH_RADIO_FIND handle) { |
| return BluetoothFindRadioClose(handle); |
| } |
| |
| BOOL BluetoothClassicWrapper::IsConnectable() { |
| DCHECK(opened_radio_handle_.IsValid()); |
| return BluetoothIsConnectable(opened_radio_handle_.Get()); |
| } |
| |
| HBLUETOOTH_DEVICE_FIND BluetoothClassicWrapper::FindFirstDevice( |
| const BLUETOOTH_DEVICE_SEARCH_PARAMS* params, |
| BLUETOOTH_DEVICE_INFO* out_device_info) { |
| return BluetoothFindFirstDevice(params, out_device_info); |
| } |
| |
| BOOL BluetoothClassicWrapper::FindNextDevice( |
| HBLUETOOTH_DEVICE_FIND handle, |
| BLUETOOTH_DEVICE_INFO* out_device_info) { |
| return BluetoothFindNextDevice(handle, out_device_info); |
| } |
| |
| BOOL BluetoothClassicWrapper::FindDeviceClose(HBLUETOOTH_DEVICE_FIND handle) { |
| return BluetoothFindDeviceClose(handle); |
| } |
| |
| BOOL BluetoothClassicWrapper::EnableDiscovery(BOOL is_enable) { |
| DCHECK(opened_radio_handle_.IsValid()); |
| return BluetoothEnableDiscovery(opened_radio_handle_.Get(), is_enable); |
| } |
| |
| BOOL BluetoothClassicWrapper::EnableIncomingConnections(BOOL is_enable) { |
| DCHECK(opened_radio_handle_.IsValid()); |
| return BluetoothEnableIncomingConnections(opened_radio_handle_.Get(), |
| is_enable); |
| } |
| |
| DWORD BluetoothClassicWrapper::LastError() { |
| return GetLastError(); |
| } |
| |
| bool BluetoothClassicWrapper::HasHandle() { |
| return opened_radio_handle_.IsValid(); |
| } |
| |
| } // namespace win |
| } // namespace device |