| 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 #ifndef CHROMEOS_PAIRING_BLUETOOTH_CONTROLLER_PAIRING_FLOW_H_ | 5 #ifndef CHROMEOS_PAIRING_BLUETOOTH_CONTROLLER_PAIRING_FLOW_H_ |
| 6 #define CHROMEOS_PAIRING_BLUETOOTH_CONTROLLER_PAIRING_FLOW_H_ | 6 #define CHROMEOS_PAIRING_BLUETOOTH_CONTROLLER_PAIRING_FLOW_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 namespace pairing_chromeos { | 24 namespace pairing_chromeos { |
| 25 | 25 |
| 26 class BluetoothControllerPairingController | 26 class BluetoothControllerPairingController |
| 27 : public ControllerPairingController, | 27 : public ControllerPairingController, |
| 28 public ProtoDecoder::Observer, | 28 public ProtoDecoder::Observer, |
| 29 public device::BluetoothAdapter::Observer, | 29 public device::BluetoothAdapter::Observer, |
| 30 public device::BluetoothDevice::PairingDelegate { | 30 public device::BluetoothDevice::PairingDelegate { |
| 31 public: | 31 public: |
| 32 BluetoothControllerPairingController(); | 32 BluetoothControllerPairingController(); |
| 33 virtual ~BluetoothControllerPairingController(); | 33 ~BluetoothControllerPairingController() override; |
| 34 | 34 |
| 35 private: | 35 private: |
| 36 void ChangeStage(Stage new_stage); | 36 void ChangeStage(Stage new_stage); |
| 37 device::BluetoothDevice* GetController(); | 37 device::BluetoothDevice* GetController(); |
| 38 void Reset(); | 38 void Reset(); |
| 39 void DeviceFound(device::BluetoothDevice* device); | 39 void DeviceFound(device::BluetoothDevice* device); |
| 40 void DeviceLost(device::BluetoothDevice* device); | 40 void DeviceLost(device::BluetoothDevice* device); |
| 41 void SendBuffer(scoped_refptr<net::IOBuffer> io_buffer, int size); | 41 void SendBuffer(scoped_refptr<net::IOBuffer> io_buffer, int size); |
| 42 void CompleteSetup(); | 42 void CompleteSetup(); |
| 43 | 43 |
| 44 void OnSetPowered(); | 44 void OnSetPowered(); |
| 45 void OnGetAdapter(scoped_refptr<device::BluetoothAdapter> adapter); | 45 void OnGetAdapter(scoped_refptr<device::BluetoothAdapter> adapter); |
| 46 void OnStartDiscoverySession( | 46 void OnStartDiscoverySession( |
| 47 scoped_ptr<device::BluetoothDiscoverySession> discovery_session); | 47 scoped_ptr<device::BluetoothDiscoverySession> discovery_session); |
| 48 void OnConnect(); | 48 void OnConnect(); |
| 49 void OnConnectToService(scoped_refptr<device::BluetoothSocket> socket); | 49 void OnConnectToService(scoped_refptr<device::BluetoothSocket> socket); |
| 50 void OnSendComplete(int bytes_sent); | 50 void OnSendComplete(int bytes_sent); |
| 51 void OnReceiveComplete(int bytes, scoped_refptr<net::IOBuffer> io_buffer); | 51 void OnReceiveComplete(int bytes, scoped_refptr<net::IOBuffer> io_buffer); |
| 52 | 52 |
| 53 void OnError(); | 53 void OnError(); |
| 54 void OnErrorWithMessage(const std::string& message); | 54 void OnErrorWithMessage(const std::string& message); |
| 55 void OnConnectError(device::BluetoothDevice::ConnectErrorCode error_code); | 55 void OnConnectError(device::BluetoothDevice::ConnectErrorCode error_code); |
| 56 void OnReceiveError(device::BluetoothSocket::ErrorReason reason, | 56 void OnReceiveError(device::BluetoothSocket::ErrorReason reason, |
| 57 const std::string& error_message); | 57 const std::string& error_message); |
| 58 | 58 |
| 59 // ControllerPairingController: | 59 // ControllerPairingController: |
| 60 virtual void AddObserver( | 60 void AddObserver(ControllerPairingController::Observer* observer) override; |
| 61 ControllerPairingController::Observer* observer) override; | 61 void RemoveObserver(ControllerPairingController::Observer* observer) override; |
| 62 virtual void RemoveObserver( | 62 Stage GetCurrentStage() override; |
| 63 ControllerPairingController::Observer* observer) override; | 63 void StartPairing() override; |
| 64 virtual Stage GetCurrentStage() override; | 64 DeviceIdList GetDiscoveredDevices() override; |
| 65 virtual void StartPairing() override; | 65 void ChooseDeviceForPairing(const std::string& device_id) override; |
| 66 virtual DeviceIdList GetDiscoveredDevices() override; | 66 void RepeatDiscovery() override; |
| 67 virtual void ChooseDeviceForPairing(const std::string& device_id) override; | 67 std::string GetConfirmationCode() override; |
| 68 virtual void RepeatDiscovery() override; | 68 void SetConfirmationCodeIsCorrect(bool correct) override; |
| 69 virtual std::string GetConfirmationCode() override; | 69 void SetHostConfiguration(bool accepted_eula, |
| 70 virtual void SetConfirmationCodeIsCorrect(bool correct) override; | 70 const std::string& lang, |
| 71 virtual void SetHostConfiguration( | 71 const std::string& timezone, |
| 72 bool accepted_eula, | 72 bool send_reports, |
| 73 const std::string& lang, | 73 const std::string& keyboard_layout) override; |
| 74 const std::string& timezone, | 74 void OnAuthenticationDone(const std::string& domain, |
| 75 bool send_reports, | 75 const std::string& auth_token) override; |
| 76 const std::string& keyboard_layout) override; | 76 void StartSession() override; |
| 77 virtual void OnAuthenticationDone(const std::string& domain, | |
| 78 const std::string& auth_token) override; | |
| 79 virtual void StartSession() override; | |
| 80 | 77 |
| 81 // ProtoDecoder::Observer: | 78 // ProtoDecoder::Observer: |
| 82 virtual void OnHostStatusMessage( | 79 void OnHostStatusMessage(const pairing_api::HostStatus& message) override; |
| 83 const pairing_api::HostStatus& message) override; | 80 void OnConfigureHostMessage( |
| 84 virtual void OnConfigureHostMessage( | |
| 85 const pairing_api::ConfigureHost& message) override; | 81 const pairing_api::ConfigureHost& message) override; |
| 86 virtual void OnPairDevicesMessage( | 82 void OnPairDevicesMessage(const pairing_api::PairDevices& message) override; |
| 87 const pairing_api::PairDevices& message) override; | 83 void OnCompleteSetupMessage( |
| 88 virtual void OnCompleteSetupMessage( | |
| 89 const pairing_api::CompleteSetup& message) override; | 84 const pairing_api::CompleteSetup& message) override; |
| 90 virtual void OnErrorMessage(const pairing_api::Error& message) override; | 85 void OnErrorMessage(const pairing_api::Error& message) override; |
| 91 | 86 |
| 92 // BluetoothAdapter::Observer: | 87 // BluetoothAdapter::Observer: |
| 93 virtual void DeviceAdded(device::BluetoothAdapter* adapter, | 88 void DeviceAdded(device::BluetoothAdapter* adapter, |
| 94 device::BluetoothDevice* device) override; | 89 device::BluetoothDevice* device) override; |
| 95 virtual void DeviceRemoved(device::BluetoothAdapter* adapter, | 90 void DeviceRemoved(device::BluetoothAdapter* adapter, |
| 96 device::BluetoothDevice* device) override; | 91 device::BluetoothDevice* device) override; |
| 97 | 92 |
| 98 // device::BluetoothDevice::PairingDelegate: | 93 // device::BluetoothDevice::PairingDelegate: |
| 99 virtual void RequestPinCode(device::BluetoothDevice* device) override; | 94 void RequestPinCode(device::BluetoothDevice* device) override; |
| 100 virtual void RequestPasskey(device::BluetoothDevice* device) override; | 95 void RequestPasskey(device::BluetoothDevice* device) override; |
| 101 virtual void DisplayPinCode(device::BluetoothDevice* device, | 96 void DisplayPinCode(device::BluetoothDevice* device, |
| 102 const std::string& pincode) override; | 97 const std::string& pincode) override; |
| 103 virtual void DisplayPasskey(device::BluetoothDevice* device, | 98 void DisplayPasskey(device::BluetoothDevice* device, uint32 passkey) override; |
| 104 uint32 passkey) override; | 99 void KeysEntered(device::BluetoothDevice* device, uint32 entered) override; |
| 105 virtual void KeysEntered(device::BluetoothDevice* device, | 100 void ConfirmPasskey(device::BluetoothDevice* device, uint32 passkey) override; |
| 106 uint32 entered) override; | 101 void AuthorizePairing(device::BluetoothDevice* device) override; |
| 107 virtual void ConfirmPasskey(device::BluetoothDevice* device, | |
| 108 uint32 passkey) override; | |
| 109 virtual void AuthorizePairing(device::BluetoothDevice* device) override; | |
| 110 | 102 |
| 111 Stage current_stage_; | 103 Stage current_stage_; |
| 112 scoped_refptr<device::BluetoothAdapter> adapter_; | 104 scoped_refptr<device::BluetoothAdapter> adapter_; |
| 113 scoped_ptr<device::BluetoothDiscoverySession> discovery_session_; | 105 scoped_ptr<device::BluetoothDiscoverySession> discovery_session_; |
| 114 scoped_refptr<device::BluetoothSocket> socket_; | 106 scoped_refptr<device::BluetoothSocket> socket_; |
| 115 std::string controller_device_id_; | 107 std::string controller_device_id_; |
| 116 | 108 |
| 117 std::string confirmation_code_; | 109 std::string confirmation_code_; |
| 118 std::set<std::string> discovered_devices_; | 110 std::set<std::string> discovered_devices_; |
| 119 | 111 |
| 120 scoped_ptr<ProtoDecoder> proto_decoder_; | 112 scoped_ptr<ProtoDecoder> proto_decoder_; |
| 121 | 113 |
| 122 base::ThreadChecker thread_checker_; | 114 base::ThreadChecker thread_checker_; |
| 123 ObserverList<ControllerPairingController::Observer> observers_; | 115 ObserverList<ControllerPairingController::Observer> observers_; |
| 124 base::WeakPtrFactory<BluetoothControllerPairingController> ptr_factory_; | 116 base::WeakPtrFactory<BluetoothControllerPairingController> ptr_factory_; |
| 125 | 117 |
| 126 DISALLOW_COPY_AND_ASSIGN(BluetoothControllerPairingController); | 118 DISALLOW_COPY_AND_ASSIGN(BluetoothControllerPairingController); |
| 127 }; | 119 }; |
| 128 | 120 |
| 129 } // namespace pairing_chromeos | 121 } // namespace pairing_chromeos |
| 130 | 122 |
| 131 #endif // CHROMEOS_PAIRING_BLUETOOTH_CONTROLLER_PAIRING_FLOW_H_ | 123 #endif // CHROMEOS_PAIRING_BLUETOOTH_CONTROLLER_PAIRING_FLOW_H_ |
| OLD | NEW |