Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1470)

Unified Diff: device/bluetooth/bluetooth_classic_win_fake.cc

Issue 1672843002: Implement fake Bluetooth adapter for BluetoothTest.ConstructFakeAdapter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « device/bluetooth/bluetooth_classic_win_fake.h ('k') | device/bluetooth/bluetooth_task_manager_win.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « device/bluetooth/bluetooth_classic_win_fake.h ('k') | device/bluetooth/bluetooth_task_manager_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698