| // 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. |
| |
| #ifndef DEVICE_BLUETOOTH_BLUETOOTH_CLASSIC_WIN_H_ |
| #define DEVICE_BLUETOOTH_BLUETOOTH_CLASSIC_WIN_H_ |
| |
| #include "base/win/scoped_handle.h" |
| #include "device/bluetooth/bluetooth_export.h" |
| #include "device/bluetooth/bluetooth_init_win.h" |
| |
| namespace device { |
| namespace win { |
| |
| // Wraps Windows APIs used to access local Bluetooth radios and classic |
| // Bluetooth devices, providing an interface that can be replaced with fakes in |
| // tests. |
| class DEVICE_BLUETOOTH_EXPORT BluetoothClassicWrapper { |
| public: |
| BluetoothClassicWrapper(); |
| virtual ~BluetoothClassicWrapper(); |
| |
| virtual HBLUETOOTH_RADIO_FIND FindFirstRadio( |
| const BLUETOOTH_FIND_RADIO_PARAMS* params); |
| virtual DWORD GetRadioInfo(PBLUETOOTH_RADIO_INFO out_radio_info); |
| virtual BOOL FindRadioClose(HBLUETOOTH_RADIO_FIND handle); |
| virtual BOOL IsConnectable(); |
| virtual HBLUETOOTH_DEVICE_FIND FindFirstDevice( |
| const BLUETOOTH_DEVICE_SEARCH_PARAMS* params, |
| BLUETOOTH_DEVICE_INFO* out_device_info); |
| virtual BOOL FindNextDevice(HBLUETOOTH_DEVICE_FIND handle, |
| BLUETOOTH_DEVICE_INFO* out_device_info); |
| virtual BOOL FindDeviceClose(HBLUETOOTH_DEVICE_FIND handle); |
| virtual BOOL EnableDiscovery(BOOL is_enable); |
| virtual BOOL EnableIncomingConnections(BOOL is_enable); |
| virtual DWORD LastError(); |
| virtual bool HasHandle(); |
| |
| private: |
| base::win::ScopedHandle opened_radio_handle_; |
| }; |
| |
| } // namespace win |
| } // namespace device |
| |
| #endif // DEVICE_BLUETOOTH_BLUETOOTH_CLASSIC_WIN_H_ |