| Index: device/bluetooth/bluetooth_classic_win_fake.cc
|
| diff --git a/device/bluetooth/bluetooth_classic_win_fake.cc b/device/bluetooth/bluetooth_classic_win_fake.cc
|
| index 920acefb7f187a5ba80280d461c5558d09d82502..013711f53fd5c319f55548e72288b5e628a7288c 100644
|
| --- a/device/bluetooth/bluetooth_classic_win_fake.cc
|
| +++ b/device/bluetooth/bluetooth_classic_win_fake.cc
|
| @@ -9,37 +9,51 @@
|
| namespace device {
|
| namespace win {
|
|
|
| -BluetoothClassicWrapperFake::BluetoothClassicWrapperFake() {}
|
| +BluetoothClassicWrapperFake::BluetoothClassicWrapperFake()
|
| + : last_error_(ERROR_SUCCESS) {}
|
| BluetoothClassicWrapperFake::~BluetoothClassicWrapperFake() {}
|
|
|
| HBLUETOOTH_RADIO_FIND BluetoothClassicWrapperFake::FindFirstRadio(
|
| const BLUETOOTH_FIND_RADIO_PARAMS* params,
|
| HANDLE* out_handle) {
|
| - NOTIMPLEMENTED();
|
| + if (simulated_radios_) {
|
| + *out_handle = (PVOID)simulated_radios_.get();
|
| + last_error_ = ERROR_SUCCESS;
|
| + return *out_handle;
|
| + }
|
| + last_error_ = ERROR_NO_MORE_ITEMS;
|
| return NULL;
|
| }
|
|
|
| DWORD BluetoothClassicWrapperFake::GetRadioInfo(
|
| HANDLE handle,
|
| PBLUETOOTH_RADIO_INFO out_radio_info) {
|
| - NOTIMPLEMENTED();
|
| - return ERROR_SUCCESS;
|
| + 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) {
|
| - NOTIMPLEMENTED();
|
| return TRUE;
|
| }
|
|
|
| BOOL BluetoothClassicWrapperFake::IsConnectable(HANDLE handle) {
|
| - NOTIMPLEMENTED();
|
| - return TRUE;
|
| + 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) {
|
| - NOTIMPLEMENTED();
|
| + last_error_ = ERROR_NO_MORE_ITEMS;
|
| return NULL;
|
| }
|
|
|
| @@ -52,20 +66,35 @@ BOOL BluetoothClassicWrapperFake::FindNextDevice(
|
|
|
| BOOL BluetoothClassicWrapperFake::FindDeviceClose(
|
| HBLUETOOTH_DEVICE_FIND handle) {
|
| - NOTIMPLEMENTED();
|
| return TRUE;
|
| }
|
|
|
| BOOL BluetoothClassicWrapperFake::EnableDiscovery(HANDLE handle,
|
| BOOL is_enable) {
|
| - NOTIMPLEMENTED();
|
| return TRUE;
|
| }
|
|
|
| BOOL BluetoothClassicWrapperFake::EnableIncomingConnections(HANDLE handle,
|
| BOOL is_enable) {
|
| - NOTIMPLEMENTED();
|
| return TRUE;
|
| }
|
| +
|
| +DWORD BluetoothClassicWrapperFake::LastError() {
|
| + return last_error_;
|
| +}
|
| +
|
| +BluetoothRadio* BluetoothClassicWrapperFake::SimulateARadio(
|
| + base::string16 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, name.c_str(), length);
|
| + radio->radio_info.address = address;
|
| + simulated_radios_.reset(radio);
|
| + return radio;
|
| +}
|
| } // namespace device
|
| } // namespace win
|
|
|