| Index: chromeos/dbus/fake_bluetooth_device_client.cc
|
| diff --git a/chromeos/dbus/fake_bluetooth_device_client.cc b/chromeos/dbus/fake_bluetooth_device_client.cc
|
| index f70e2cfb7852933a2f6786676ecbd6ad55b80ab3..43903a31d155e9ba2813232ed6828aedb5a4915c 100644
|
| --- a/chromeos/dbus/fake_bluetooth_device_client.cc
|
| +++ b/chromeos/dbus/fake_bluetooth_device_client.cc
|
| @@ -62,6 +62,11 @@ void SimulatedProfileSocket(int fd) {
|
| close(fd);
|
| }
|
|
|
| +void SimpleErrorCallback(const std::string& error_name,
|
| + const std::string& error_message) {
|
| + VLOG(1) << "Bluetooth Error: " << error_name << ": " << error_message;
|
| +}
|
| +
|
| } // namespace
|
|
|
| namespace chromeos {
|
| @@ -199,6 +204,7 @@ void FakeBluetoothDeviceClient::Properties::Set(
|
| FakeBluetoothDeviceClient::FakeBluetoothDeviceClient()
|
| : simulation_interval_ms_(kSimulationIntervalMs),
|
| discovery_simulation_step_(0),
|
| + incoming_pairing_simulation_step_(0),
|
| pairing_cancelled_(false) {
|
| Properties* properties = new Properties(base::Bind(
|
| &FakeBluetoothDeviceClient::OnPropertyChanged,
|
| @@ -440,6 +446,25 @@ void FakeBluetoothDeviceClient::EndDiscoverySimulation(
|
| discovery_simulation_step_ = 0;
|
| }
|
|
|
| +void FakeBluetoothDeviceClient::BeginIncomingPairingSimulation(
|
| + const dbus::ObjectPath& adapter_path) {
|
| + VLOG(1) << "starting incoming pairing simulation";
|
| +
|
| + incoming_pairing_simulation_step_ = 1;
|
| +
|
| + base::MessageLoop::current()->PostDelayedTask(
|
| + FROM_HERE,
|
| + base::Bind(&FakeBluetoothDeviceClient::IncomingPairingSimulationTimer,
|
| + base::Unretained(this)),
|
| + base::TimeDelta::FromMilliseconds(30 * simulation_interval_ms_));
|
| +}
|
| +
|
| +void FakeBluetoothDeviceClient::EndIncomingPairingSimulation(
|
| + const dbus::ObjectPath& adapter_path) {
|
| + VLOG(1) << "stopping incoming pairing simulation";
|
| + incoming_pairing_simulation_step_ = 0;
|
| +}
|
| +
|
| void FakeBluetoothDeviceClient::SetSimulationIntervalMs(int interval_ms) {
|
| simulation_interval_ms_ = interval_ms;
|
| }
|
| @@ -642,6 +667,66 @@ void FakeBluetoothDeviceClient::DiscoverySimulationTimer() {
|
| base::TimeDelta::FromMilliseconds(simulation_interval_ms_));
|
| }
|
|
|
| +void FakeBluetoothDeviceClient::IncomingPairingSimulationTimer() {
|
| + if (!incoming_pairing_simulation_step_)
|
| + return;
|
| +
|
| + VLOG(1) << "incoming pairing simulation, step "
|
| + << incoming_pairing_simulation_step_;
|
| + switch (incoming_pairing_simulation_step_) {
|
| + case 1:
|
| + CreateDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
|
| + dbus::ObjectPath(kPhonePath));
|
| + SimulatePairing(dbus::ObjectPath(kPhonePath), true,
|
| + base::Bind(&base::DoNothing),
|
| + base::Bind(&SimpleErrorCallback));
|
| + break;
|
| + case 2:
|
| + CreateDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
|
| + dbus::ObjectPath(kBoseSpeakersPath));
|
| + SimulatePairing(dbus::ObjectPath(kBoseSpeakersPath), true,
|
| + base::Bind(&base::DoNothing),
|
| + base::Bind(&SimpleErrorCallback));
|
| + break;
|
| + case 3:
|
| + CreateDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
|
| + dbus::ObjectPath(kAppleKeyboardPath));
|
| + SimulatePairing(dbus::ObjectPath(kAppleKeyboardPath), true,
|
| + base::Bind(&base::DoNothing),
|
| + base::Bind(&SimpleErrorCallback));
|
| + break;
|
| + case 4:
|
| + CreateDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
|
| + dbus::ObjectPath(kMotorolaKeyboardPath));
|
| + SimulatePairing(dbus::ObjectPath(kMotorolaKeyboardPath), true,
|
| + base::Bind(&base::DoNothing),
|
| + base::Bind(&SimpleErrorCallback));
|
| + break;
|
| + case 5:
|
| + CreateDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
|
| + dbus::ObjectPath(kSonyHeadphonesPath));
|
| + SimulatePairing(dbus::ObjectPath(kSonyHeadphonesPath), true,
|
| + base::Bind(&base::DoNothing),
|
| + base::Bind(&SimpleErrorCallback));
|
| + break;
|
| + case 6:
|
| + CreateDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
|
| + dbus::ObjectPath(kWeirdDevicePath));
|
| + SimulatePairing(dbus::ObjectPath(kWeirdDevicePath), true,
|
| + base::Bind(&base::DoNothing),
|
| + base::Bind(&SimpleErrorCallback));
|
| + break;
|
| + default:
|
| + return;
|
| + }
|
| +
|
| + ++incoming_pairing_simulation_step_;
|
| + base::MessageLoop::current()->PostDelayedTask(
|
| + FROM_HERE,
|
| + base::Bind(&FakeBluetoothDeviceClient::IncomingPairingSimulationTimer,
|
| + base::Unretained(this)),
|
| + base::TimeDelta::FromMilliseconds(45 * simulation_interval_ms_));
|
| +}
|
|
|
| void FakeBluetoothDeviceClient::SimulatePairing(
|
| const dbus::ObjectPath& object_path,
|
|
|