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 CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_H_ |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper.
h" | 9 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper.
h" |
10 #include "chrome/browser/chromeos/login/screens/base_screen.h" | 10 #include "chrome/browser/chromeos/login/screens/base_screen.h" |
11 #include "chrome/browser/chromeos/login/screens/host_pairing_screen_actor.h" | 11 #include "chrome/browser/chromeos/login/screens/host_pairing_screen_view.h" |
12 #include "components/login/screens/screen_context.h" | 12 #include "components/login/screens/screen_context.h" |
13 #include "components/pairing/host_pairing_controller.h" | 13 #include "components/pairing/host_pairing_controller.h" |
14 | 14 |
15 namespace chromeos { | 15 namespace chromeos { |
16 | 16 |
17 class HostPairingScreen | 17 class HostPairingScreen |
18 : public BaseScreen, | 18 : public BaseScreen, |
19 public pairing_chromeos::HostPairingController::Observer, | 19 public pairing_chromeos::HostPairingController::Observer, |
20 public HostPairingScreenActor::Delegate, | 20 public HostPairingScreenView::Delegate, |
21 public EnterpriseEnrollmentHelper::EnrollmentStatusConsumer { | 21 public EnterpriseEnrollmentHelper::EnrollmentStatusConsumer { |
22 public: | 22 public: |
23 class Delegate { | 23 class Delegate { |
24 public: | 24 public: |
25 virtual ~Delegate() {} | 25 virtual ~Delegate() {} |
26 | 26 |
27 // Called when a configuration has been received, and should be applied to | 27 // Called when a configuration has been received, and should be applied to |
28 // this device. | 28 // this device. |
29 virtual void ConfigureHostRequested(bool accepted_eula, | 29 virtual void ConfigureHostRequested(bool accepted_eula, |
30 const std::string& lang, | 30 const std::string& lang, |
31 const std::string& timezone, | 31 const std::string& timezone, |
32 bool send_reports, | 32 bool send_reports, |
33 const std::string& keyboard_layout) = 0; | 33 const std::string& keyboard_layout) = 0; |
34 | 34 |
35 // Called when a network configuration has been received, and should be | 35 // Called when a network configuration has been received, and should be |
36 // used on this device. | 36 // used on this device. |
37 virtual void AddNetworkRequested(const std::string& onc_spec) = 0; | 37 virtual void AddNetworkRequested(const std::string& onc_spec) = 0; |
38 }; | 38 }; |
39 | 39 |
40 HostPairingScreen(BaseScreenDelegate* base_screen_delegate, | 40 HostPairingScreen(BaseScreenDelegate* base_screen_delegate, |
41 Delegate* delegate, | 41 Delegate* delegate, |
42 HostPairingScreenActor* actor, | 42 HostPairingScreenView* view, |
43 pairing_chromeos::HostPairingController* remora_controller); | 43 pairing_chromeos::HostPairingController* remora_controller); |
44 ~HostPairingScreen() override; | 44 ~HostPairingScreen() override; |
45 | 45 |
46 private: | 46 private: |
47 typedef pairing_chromeos::HostPairingController::Stage Stage; | 47 typedef pairing_chromeos::HostPairingController::Stage Stage; |
48 | 48 |
49 void CommitContextChanges(); | 49 void CommitContextChanges(); |
50 | 50 |
51 // Overridden from BaseScreen: | 51 // Overridden from BaseScreen: |
52 void Show() override; | 52 void Show() override; |
53 void Hide() override; | 53 void Hide() override; |
54 | 54 |
55 // pairing_chromeos::HostPairingController::Observer: | 55 // pairing_chromeos::HostPairingController::Observer: |
56 void PairingStageChanged(Stage new_stage) override; | 56 void PairingStageChanged(Stage new_stage) override; |
57 void ConfigureHostRequested(bool accepted_eula, | 57 void ConfigureHostRequested(bool accepted_eula, |
58 const std::string& lang, | 58 const std::string& lang, |
59 const std::string& timezone, | 59 const std::string& timezone, |
60 bool send_reports, | 60 bool send_reports, |
61 const std::string& keyboard_layout) override; | 61 const std::string& keyboard_layout) override; |
62 void AddNetworkRequested(const std::string& onc_spec) override; | 62 void AddNetworkRequested(const std::string& onc_spec) override; |
63 void EnrollHostRequested(const std::string& auth_token) override; | 63 void EnrollHostRequested(const std::string& auth_token) override; |
64 | 64 |
65 // Overridden from ControllerPairingView::Delegate: | 65 // Overridden from ControllerPairingView::Delegate: |
66 void OnActorDestroyed(HostPairingScreenActor* actor) override; | 66 void OnViewDestroyed(HostPairingScreenView* view) override; |
67 | 67 |
68 // Overridden from EnterpriseEnrollmentHelper::EnrollmentStatusConsumer: | 68 // Overridden from EnterpriseEnrollmentHelper::EnrollmentStatusConsumer: |
69 void OnAuthError(const GoogleServiceAuthError& error) override; | 69 void OnAuthError(const GoogleServiceAuthError& error) override; |
70 void OnEnrollmentError(policy::EnrollmentStatus status) override; | 70 void OnEnrollmentError(policy::EnrollmentStatus status) override; |
71 void OnOtherError(EnterpriseEnrollmentHelper::OtherError error) override; | 71 void OnOtherError(EnterpriseEnrollmentHelper::OtherError error) override; |
72 void OnDeviceEnrolled(const std::string& additional_token) override; | 72 void OnDeviceEnrolled(const std::string& additional_token) override; |
73 void OnDeviceAttributeUploadCompleted(bool success) override; | 73 void OnDeviceAttributeUploadCompleted(bool success) override; |
74 void OnDeviceAttributeUpdatePermission(bool granted) override; | 74 void OnDeviceAttributeUpdatePermission(bool granted) override; |
75 | 75 |
76 // Used as a callback for EnterpriseEnrollmentHelper::ClearAuth. | 76 // Used as a callback for EnterpriseEnrollmentHelper::ClearAuth. |
77 void OnAuthCleared(); | 77 void OnAuthCleared(); |
78 void OnAnyEnrollmentError(); | 78 void OnAnyEnrollmentError(); |
79 | 79 |
80 Delegate* delegate_ = nullptr; | 80 Delegate* delegate_ = nullptr; |
81 | 81 |
82 HostPairingScreenActor* actor_ = nullptr; | 82 HostPairingScreenView* view_ = nullptr; |
83 | 83 |
84 // Controller performing pairing. Owned by the wizard controller. | 84 // Controller performing pairing. Owned by the wizard controller. |
85 pairing_chromeos::HostPairingController* remora_controller_ = nullptr; | 85 pairing_chromeos::HostPairingController* remora_controller_ = nullptr; |
86 | 86 |
87 std::unique_ptr<EnterpriseEnrollmentHelper> enrollment_helper_; | 87 std::unique_ptr<EnterpriseEnrollmentHelper> enrollment_helper_; |
88 | 88 |
89 // Current stage of pairing process. | 89 // Current stage of pairing process. |
90 Stage current_stage_ = pairing_chromeos::HostPairingController::STAGE_NONE; | 90 Stage current_stage_ = pairing_chromeos::HostPairingController::STAGE_NONE; |
91 | 91 |
92 base::WeakPtrFactory<HostPairingScreen> weak_ptr_factory_; | 92 base::WeakPtrFactory<HostPairingScreen> weak_ptr_factory_; |
93 | 93 |
94 DISALLOW_COPY_AND_ASSIGN(HostPairingScreen); | 94 DISALLOW_COPY_AND_ASSIGN(HostPairingScreen); |
95 }; | 95 }; |
96 | 96 |
97 } // namespace chromeos | 97 } // namespace chromeos |
98 | 98 |
99 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_H_ | 99 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_H_ |
OLD | NEW |