Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/pairing/bluetooth_host_pairing_controller.h" | 5 #include "components/pairing/bluetooth_host_pairing_controller.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/hash.h" | 8 #include "base/hash.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 58 BluetoothHostPairingController::BluetoothHostPairingController() | 58 BluetoothHostPairingController::BluetoothHostPairingController() |
| 59 : current_stage_(STAGE_NONE), | 59 : current_stage_(STAGE_NONE), |
| 60 update_status_(UPDATE_STATUS_UNKNOWN), | 60 update_status_(UPDATE_STATUS_UNKNOWN), |
| 61 enrollment_status_(ENROLLMENT_STATUS_UNKNOWN), | 61 enrollment_status_(ENROLLMENT_STATUS_UNKNOWN), |
| 62 device_(NULL), | 62 device_(NULL), |
| 63 proto_decoder_(new ProtoDecoder(this)), | 63 proto_decoder_(new ProtoDecoder(this)), |
| 64 ptr_factory_(this) { | 64 ptr_factory_(this) { |
| 65 } | 65 } |
| 66 | 66 |
| 67 BluetoothHostPairingController::~BluetoothHostPairingController() { | 67 BluetoothHostPairingController::~BluetoothHostPairingController() { |
| 68 if (adapter_.get()) | 68 Reset(); |
|
achuithb
2014/10/27 21:32:34
This also calls ChangeStage, which calls the obser
| |
| 69 adapter_->RemoveObserver(this); | |
| 70 } | 69 } |
| 71 | 70 |
| 72 void BluetoothHostPairingController::ChangeStage(Stage new_stage) { | 71 void BluetoothHostPairingController::ChangeStage(Stage new_stage) { |
| 73 if (current_stage_ == new_stage) | 72 if (current_stage_ == new_stage) |
| 74 return; | 73 return; |
| 75 VLOG(1) << "ChangeStage " << new_stage; | 74 VLOG(1) << "ChangeStage " << new_stage; |
| 76 current_stage_ = new_stage; | 75 current_stage_ = new_stage; |
| 77 FOR_EACH_OBSERVER(Observer, observers_, PairingStageChanged(new_stage)); | 76 FOR_EACH_OBSERVER(Observer, observers_, PairingStageChanged(new_stage)); |
| 78 } | 77 } |
| 79 | 78 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 134 void BluetoothHostPairingController::Reset() { | 133 void BluetoothHostPairingController::Reset() { |
| 135 if (controller_socket_.get()) { | 134 if (controller_socket_.get()) { |
| 136 controller_socket_->Close(); | 135 controller_socket_->Close(); |
| 137 controller_socket_ = NULL; | 136 controller_socket_ = NULL; |
| 138 } | 137 } |
| 139 | 138 |
| 140 if (service_socket_.get()) { | 139 if (service_socket_.get()) { |
| 141 service_socket_->Close(); | 140 service_socket_->Close(); |
| 142 service_socket_ = NULL; | 141 service_socket_ = NULL; |
| 143 } | 142 } |
| 143 | |
| 144 if (adapter_.get()) { | |
| 145 if (adapter_->IsDiscoverable()) { | |
| 146 adapter_->SetDiscoverable(false, base::Closure(), base::Closure()); | |
| 147 } | |
| 148 adapter_->RemoveObserver(this); | |
| 149 adapter_ = NULL; | |
| 150 } | |
| 151 | |
| 144 ChangeStage(STAGE_NONE); | 152 ChangeStage(STAGE_NONE); |
|
achuithb
2014/10/27 21:32:34
Should we get rid of this?
| |
| 145 } | 153 } |
| 146 | 154 |
| 147 void BluetoothHostPairingController::OnGetAdapter( | 155 void BluetoothHostPairingController::OnGetAdapter( |
| 148 scoped_refptr<device::BluetoothAdapter> adapter) { | 156 scoped_refptr<device::BluetoothAdapter> adapter) { |
| 149 DCHECK(thread_checker_.CalledOnValidThread()); | 157 DCHECK(thread_checker_.CalledOnValidThread()); |
| 150 DCHECK(!adapter_.get()); | 158 DCHECK(!adapter_.get()); |
| 151 adapter_ = adapter; | 159 adapter_ = adapter; |
| 152 | 160 |
| 153 if (adapter_->IsPresent()) { | 161 if (adapter_->IsPresent()) { |
| 154 SetName(); | 162 SetName(); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 275 } | 283 } |
| 276 | 284 |
| 277 void BluetoothHostPairingController::OnSetError() { | 285 void BluetoothHostPairingController::OnSetError() { |
| 278 adapter_->RemovePairingDelegate(this); | 286 adapter_->RemovePairingDelegate(this); |
| 279 ChangeStage(STAGE_INITIALIZATION_ERROR); | 287 ChangeStage(STAGE_INITIALIZATION_ERROR); |
| 280 } | 288 } |
| 281 | 289 |
| 282 void BluetoothHostPairingController::OnAcceptError( | 290 void BluetoothHostPairingController::OnAcceptError( |
| 283 const std::string& error_message) { | 291 const std::string& error_message) { |
| 284 LOG(ERROR) << error_message; | 292 LOG(ERROR) << error_message; |
| 285 Reset(); | |
| 286 } | 293 } |
| 287 | 294 |
| 288 void BluetoothHostPairingController::OnSendError( | 295 void BluetoothHostPairingController::OnSendError( |
| 289 const std::string& error_message) { | 296 const std::string& error_message) { |
| 290 LOG(ERROR) << error_message; | 297 LOG(ERROR) << error_message; |
| 291 } | 298 } |
| 292 | 299 |
| 293 void BluetoothHostPairingController::OnReceiveError( | 300 void BluetoothHostPairingController::OnReceiveError( |
| 294 device::BluetoothSocket::ErrorReason reason, | 301 device::BluetoothSocket::ErrorReason reason, |
| 295 const std::string& error_message) { | 302 const std::string& error_message) { |
| 296 LOG(ERROR) << reason << ", " << error_message; | 303 LOG(ERROR) << reason << ", " << error_message; |
| 297 Reset(); | |
| 298 } | 304 } |
| 299 | 305 |
| 300 void BluetoothHostPairingController::OnHostStatusMessage( | 306 void BluetoothHostPairingController::OnHostStatusMessage( |
| 301 const pairing_api::HostStatus& message) { | 307 const pairing_api::HostStatus& message) { |
| 302 NOTREACHED(); | 308 NOTREACHED(); |
| 303 } | 309 } |
| 304 | 310 |
| 305 void BluetoothHostPairingController::OnConfigureHostMessage( | 311 void BluetoothHostPairingController::OnConfigureHostMessage( |
| 306 const pairing_api::ConfigureHost& message) { | 312 const pairing_api::ConfigureHost& message) { |
| 307 FOR_EACH_OBSERVER(Observer, observers_, | 313 FOR_EACH_OBSERVER(Observer, observers_, |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 455 ChangeStage(STAGE_WAITING_FOR_CODE_CONFIRMATION); | 461 ChangeStage(STAGE_WAITING_FOR_CODE_CONFIRMATION); |
| 456 } | 462 } |
| 457 | 463 |
| 458 void BluetoothHostPairingController::AuthorizePairing( | 464 void BluetoothHostPairingController::AuthorizePairing( |
| 459 device::BluetoothDevice* device) { | 465 device::BluetoothDevice* device) { |
| 460 // Disallow unknown device. | 466 // Disallow unknown device. |
| 461 device->RejectPairing(); | 467 device->RejectPairing(); |
| 462 } | 468 } |
| 463 | 469 |
| 464 } // namespace pairing_chromeos | 470 } // namespace pairing_chromeos |
| OLD | NEW |