| 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 COMPONENTS_PAIRING_CONTROLLER_PAIRING_CONTROLLER_H_ | 5 #ifndef COMPONENTS_PAIRING_CONTROLLER_PAIRING_CONTROLLER_H_ |
| 6 #define COMPONENTS_PAIRING_CONTROLLER_PAIRING_CONTROLLER_H_ | 6 #define COMPONENTS_PAIRING_CONTROLLER_PAIRING_CONTROLLER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/macros.h" | 11 #include "base/macros.h" |
| 12 | 12 |
| 13 namespace chromeos { | 13 namespace chromeos { |
| 14 class UserContext; | 14 class UserContext; |
| 15 } | 15 } |
| 16 | 16 |
| 17 namespace content { | 17 namespace content { |
| 18 class BrowserContext; | 18 class BrowserContext; |
| 19 } | 19 } |
| 20 | 20 |
| 21 namespace pairing_chromeos { | 21 namespace pairing_chromeos { |
| 22 | 22 |
| 23 class ControllerPairingController { | 23 class ControllerPairingController { |
| 24 public: | 24 public: |
| 25 enum Stage { | 25 enum Stage { |
| 26 STAGE_NONE, | 26 STAGE_NONE, |
| 27 STAGE_INITIALIZATION_ERROR, |
| 27 STAGE_DEVICES_DISCOVERY, | 28 STAGE_DEVICES_DISCOVERY, |
| 28 STAGE_DEVICE_NOT_FOUND, | 29 STAGE_DEVICE_NOT_FOUND, |
| 29 STAGE_ESTABLISHING_CONNECTION, | 30 STAGE_ESTABLISHING_CONNECTION, |
| 30 STAGE_ESTABLISHING_CONNECTION_ERROR, | 31 STAGE_ESTABLISHING_CONNECTION_ERROR, |
| 31 STAGE_WAITING_FOR_CODE_CONFIRMATION, | 32 STAGE_WAITING_FOR_CODE_CONFIRMATION, |
| 32 STAGE_HOST_UPDATE_IN_PROGRESS, | 33 STAGE_HOST_UPDATE_IN_PROGRESS, |
| 33 STAGE_HOST_CONNECTION_LOST, | 34 STAGE_HOST_CONNECTION_LOST, |
| 34 STAGE_WAITING_FOR_CREDENTIALS, | 35 STAGE_WAITING_FOR_CREDENTIALS, |
| 35 STAGE_HOST_ENROLLMENT_IN_PROGRESS, | 36 STAGE_HOST_ENROLLMENT_IN_PROGRESS, |
| 36 STAGE_HOST_ENROLLMENT_ERROR, | 37 STAGE_HOST_ENROLLMENT_ERROR, |
| (...skipping 15 matching lines...) Expand all Loading... |
| 52 | 53 |
| 53 private: | 54 private: |
| 54 DISALLOW_COPY_AND_ASSIGN(Observer); | 55 DISALLOW_COPY_AND_ASSIGN(Observer); |
| 55 }; | 56 }; |
| 56 | 57 |
| 57 typedef std::vector<std::string> DeviceIdList; | 58 typedef std::vector<std::string> DeviceIdList; |
| 58 | 59 |
| 59 ControllerPairingController(); | 60 ControllerPairingController(); |
| 60 virtual ~ControllerPairingController(); | 61 virtual ~ControllerPairingController(); |
| 61 | 62 |
| 62 virtual void AddObserver(Observer* observer) = 0; | |
| 63 virtual void RemoveObserver(Observer* observer) = 0; | |
| 64 | |
| 65 // Returns current stage of pairing process. | 63 // Returns current stage of pairing process. |
| 66 virtual Stage GetCurrentStage() = 0; | 64 virtual Stage GetCurrentStage() = 0; |
| 67 | 65 |
| 68 // Starts pairing process. Can be called only on |STAGE_NONE| stage. | 66 // Starts pairing process. Can be called only on |STAGE_NONE| stage. |
| 69 virtual void StartPairing() = 0; | 67 virtual void StartPairing() = 0; |
| 70 | 68 |
| 71 // Returns list of discovered devices. Can be called only on | 69 // Returns list of discovered devices. Can be called only on |
| 72 // |STAGE_DEVICES_DISCOVERY| stage. | 70 // |STAGE_DEVICES_DISCOVERY| stage. |
| 73 virtual DeviceIdList GetDiscoveredDevices() = 0; | 71 virtual DeviceIdList GetDiscoveredDevices() = 0; |
| 74 | 72 |
| 75 // This method is called to start pairing with the device having |device_id| | 73 // This method is called to start pairing with the device having |device_id| |
| 76 // ID. Can be called only on |STAGE_DEVICES_DISCOVERY| stage. | 74 // ID. Can be called only on |STAGE_DEVICES_DISCOVERY| stage. |
| 77 virtual void ChooseDeviceForPairing(const std::string& device_id) = 0; | 75 virtual void ChooseDeviceForPairing(const std::string& device_id) = 0; |
| 78 | 76 |
| 79 // Rescan for devices to pair with. Can be called only on | 77 // Rescan for devices to pair with. Can be called only on |
| 80 // stages |STAGE_DEVICE_NOT_FOUND|, |STAGE_ESTABLISHING_CONNECTION_ERROR|, | 78 // stages |STAGE_DEVICE_NOT_FOUND|, |STAGE_ESTABLISHING_CONNECTION_ERROR|, |
| 81 // |STAGE_HOST_ENROLLMENT_ERROR|. | 79 // |STAGE_HOST_ENROLLMENT_ERROR|. |
| 82 virtual void RepeatDiscovery() = 0; | 80 virtual void RepeatDiscovery() = 0; |
| 83 | 81 |
| 84 // Returns pairing confirmation code. | 82 // Returns pairing confirmation code. |
| 85 // Could be called only on |STATE_WAITING_FOR_CODE_CONFIRMATION| stage. | 83 // Could be called only on |STATE_WAITING_FOR_CODE_CONFIRMATION| stage. |
| 86 virtual std::string GetConfirmationCode() = 0; | 84 virtual std::string GetConfirmationCode() = 0; |
| 87 | 85 |
| 88 // Called to confirm or deny confirmation code. Can be called only on | 86 // Called to confirm or deny confirmation code. Can be called only on |
| 89 // |STAGE_WAITING_FOR_CODE_CONFIRMATION| stage. | 87 // |STAGE_WAITING_FOR_CODE_CONFIRMATION| stage. |
| 90 virtual void SetConfirmationCodeIsCorrect(bool correct) = 0; | 88 virtual void SetConfirmationCodeIsCorrect(bool correct) = 0; |
| 91 | 89 |
| 90 // Set the values that will be sent to the host if it needs to be configured. |
| 91 virtual void SetHostConfiguration(bool accepted_eula, |
| 92 const std::string& lang, |
| 93 const std::string& timezone, |
| 94 bool send_reports, |
| 95 const std::string& keyboard_layout) = 0; |
| 96 |
| 92 // Called when user successfully authenticated on GAIA page. Can be called | 97 // Called when user successfully authenticated on GAIA page. Can be called |
| 93 // only on |STAGE_WAITING_FOR_CREDENTIALS| stage. | 98 // only on |STAGE_WAITING_FOR_CREDENTIALS| stage. |
| 94 virtual void OnAuthenticationDone( | 99 // |auth_token| will be sent to the host to be used for enrollment. |
| 95 const chromeos::UserContext& user_context, | 100 virtual void OnAuthenticationDone(const std::string& domain, |
| 96 content::BrowserContext* browser_context) = 0; | 101 const std::string& auth_token) = 0; |
| 97 | 102 |
| 98 // Installs app and starts session. | 103 // Installs app and starts session. |
| 99 // Can be called only on |STAGE_PAIRING_DONE| stage. | 104 // Can be called only on |STAGE_PAIRING_DONE| stage. |
| 100 virtual void StartSession() = 0; | 105 virtual void StartSession() = 0; |
| 101 | 106 |
| 107 virtual void AddObserver(Observer* observer) = 0; |
| 108 virtual void RemoveObserver(Observer* observer) = 0; |
| 109 |
| 102 private: | 110 private: |
| 103 DISALLOW_COPY_AND_ASSIGN(ControllerPairingController); | 111 DISALLOW_COPY_AND_ASSIGN(ControllerPairingController); |
| 104 }; | 112 }; |
| 105 | 113 |
| 106 } // namespace pairing_chromeos | 114 } // namespace pairing_chromeos |
| 107 | 115 |
| 108 #endif // COMPONENTS_PAIRING_CONTROLLER_PAIRING_CONTROLLER_H_ | 116 #endif // COMPONENTS_PAIRING_CONTROLLER_PAIRING_CONTROLLER_H_ |
| OLD | NEW |