OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_WIZARD_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 class HTMLPageScreen; | 31 class HTMLPageScreen; |
32 class LoginDisplayHost; | 32 class LoginDisplayHost; |
33 class NetworkScreen; | 33 class NetworkScreen; |
34 class OobeDisplay; | 34 class OobeDisplay; |
35 class RegistrationScreen; | 35 class RegistrationScreen; |
36 class ResetScreen; | 36 class ResetScreen; |
37 class TermsOfServiceScreen; | 37 class TermsOfServiceScreen; |
38 class UpdateScreen; | 38 class UpdateScreen; |
39 class UserImageScreen; | 39 class UserImageScreen; |
40 class WizardScreen; | 40 class WizardScreen; |
| 41 class WrongHWIDScreen; |
41 | 42 |
42 // Class that manages control flow between wizard screens. Wizard controller | 43 // Class that manages control flow between wizard screens. Wizard controller |
43 // interacts with screen controllers to move the user between screens. | 44 // interacts with screen controllers to move the user between screens. |
44 class WizardController : public ScreenObserver { | 45 class WizardController : public ScreenObserver { |
45 public: | 46 public: |
46 // Observes screen changes. | 47 // Observes screen changes. |
47 class Observer { | 48 class Observer { |
48 public: | 49 public: |
49 // Called before a screen change happens. | 50 // Called before a screen change happens. |
50 virtual void OnScreenChanged(WizardScreen* next_screen) = 0; | 51 virtual void OnScreenChanged(WizardScreen* next_screen) = 0; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 // Lazy initializers and getters for screens. | 135 // Lazy initializers and getters for screens. |
135 NetworkScreen* GetNetworkScreen(); | 136 NetworkScreen* GetNetworkScreen(); |
136 UpdateScreen* GetUpdateScreen(); | 137 UpdateScreen* GetUpdateScreen(); |
137 UserImageScreen* GetUserImageScreen(); | 138 UserImageScreen* GetUserImageScreen(); |
138 EulaScreen* GetEulaScreen(); | 139 EulaScreen* GetEulaScreen(); |
139 RegistrationScreen* GetRegistrationScreen(); | 140 RegistrationScreen* GetRegistrationScreen(); |
140 HTMLPageScreen* GetHTMLPageScreen(); | 141 HTMLPageScreen* GetHTMLPageScreen(); |
141 EnterpriseEnrollmentScreen* GetEnterpriseEnrollmentScreen(); | 142 EnterpriseEnrollmentScreen* GetEnterpriseEnrollmentScreen(); |
142 ResetScreen* GetResetScreen(); | 143 ResetScreen* GetResetScreen(); |
143 TermsOfServiceScreen* GetTermsOfServiceScreen(); | 144 TermsOfServiceScreen* GetTermsOfServiceScreen(); |
| 145 WrongHWIDScreen* GetWrongHWIDScreen(); |
144 | 146 |
145 // Returns a pointer to the current screen or NULL if there's no such | 147 // Returns a pointer to the current screen or NULL if there's no such |
146 // screen. | 148 // screen. |
147 WizardScreen* current_screen() const { return current_screen_; } | 149 WizardScreen* current_screen() const { return current_screen_; } |
148 | 150 |
149 // Returns true if the current wizard instance has reached the login screen. | 151 // Returns true if the current wizard instance has reached the login screen. |
150 bool login_screen_started() const { return login_screen_started_; } | 152 bool login_screen_started() const { return login_screen_started_; } |
151 | 153 |
152 static const char kNetworkScreenName[]; | 154 static const char kNetworkScreenName[]; |
153 static const char kLoginScreenName[]; | 155 static const char kLoginScreenName[]; |
154 static const char kUpdateScreenName[]; | 156 static const char kUpdateScreenName[]; |
155 static const char kUserImageScreenName[]; | 157 static const char kUserImageScreenName[]; |
156 static const char kRegistrationScreenName[]; | 158 static const char kRegistrationScreenName[]; |
157 static const char kOutOfBoxScreenName[]; | 159 static const char kOutOfBoxScreenName[]; |
158 static const char kTestNoScreenName[]; | 160 static const char kTestNoScreenName[]; |
159 static const char kEulaScreenName[]; | 161 static const char kEulaScreenName[]; |
160 static const char kHTMLPageScreenName[]; | 162 static const char kHTMLPageScreenName[]; |
161 static const char kEnterpriseEnrollmentScreenName[]; | 163 static const char kEnterpriseEnrollmentScreenName[]; |
162 static const char kResetScreenName[]; | 164 static const char kResetScreenName[]; |
163 static const char kTermsOfServiceScreenName[]; | 165 static const char kTermsOfServiceScreenName[]; |
| 166 static const char kWrongHWIDScreenName[]; |
164 | 167 |
165 private: | 168 private: |
166 // Show specific screen. | 169 // Show specific screen. |
167 void ShowNetworkScreen(); | 170 void ShowNetworkScreen(); |
168 void ShowUpdateScreen(); | 171 void ShowUpdateScreen(); |
169 void ShowUserImageScreen(); | 172 void ShowUserImageScreen(); |
170 void ShowEulaScreen(); | 173 void ShowEulaScreen(); |
171 void ShowRegistrationScreen(); | 174 void ShowRegistrationScreen(); |
172 void ShowHTMLPageScreen(); | 175 void ShowHTMLPageScreen(); |
173 void ShowEnterpriseEnrollmentScreen(); | 176 void ShowEnterpriseEnrollmentScreen(); |
174 void ShowResetScreen(); | 177 void ShowResetScreen(); |
175 void ShowTermsOfServiceScreen(); | 178 void ShowTermsOfServiceScreen(); |
| 179 void ShowWrongHWIDScreen(); |
176 | 180 |
177 // Shows images login screen. | 181 // Shows images login screen. |
178 void ShowLoginScreen(); | 182 void ShowLoginScreen(); |
179 | 183 |
180 // Resumes a pending login screen. | 184 // Resumes a pending login screen. |
181 void ResumeLoginScreen(); | 185 void ResumeLoginScreen(); |
182 | 186 |
183 // Exit handlers: | 187 // Exit handlers: |
184 void OnNetworkConnected(); | 188 void OnNetworkConnected(); |
185 void OnNetworkOffline(); | 189 void OnNetworkOffline(); |
186 void OnConnectionFailed(); | 190 void OnConnectionFailed(); |
187 void OnUpdateCompleted(); | 191 void OnUpdateCompleted(); |
188 void OnEulaAccepted(); | 192 void OnEulaAccepted(); |
189 void OnUpdateErrorCheckingForUpdate(); | 193 void OnUpdateErrorCheckingForUpdate(); |
190 void OnUpdateErrorUpdating(); | 194 void OnUpdateErrorUpdating(); |
191 void OnUserImageSelected(); | 195 void OnUserImageSelected(); |
192 void OnUserImageSkipped(); | 196 void OnUserImageSkipped(); |
193 void OnRegistrationSuccess(); | 197 void OnRegistrationSuccess(); |
194 void OnRegistrationSkipped(); | 198 void OnRegistrationSkipped(); |
195 void OnEnterpriseEnrollmentDone(); | 199 void OnEnterpriseEnrollmentDone(); |
196 void OnEnterpriseAutoEnrollmentDone(); | 200 void OnEnterpriseAutoEnrollmentDone(); |
197 void OnResetCanceled(); | 201 void OnResetCanceled(); |
| 202 void OnWrongHWIDWarningSkipped(); |
198 void OnOOBECompleted(); | 203 void OnOOBECompleted(); |
199 void OnTermsOfServiceDeclined(); | 204 void OnTermsOfServiceDeclined(); |
200 void OnTermsOfServiceAccepted(); | 205 void OnTermsOfServiceAccepted(); |
201 | 206 |
202 // Loads brand code on I/O enabled thread and stores to Local State. | 207 // Loads brand code on I/O enabled thread and stores to Local State. |
203 void LoadBrandCodeFromFile(); | 208 void LoadBrandCodeFromFile(); |
204 | 209 |
205 // Called after all post-EULA blocking tasks have been completed. | 210 // Called after all post-EULA blocking tasks have been completed. |
206 void OnEulaBlockingTasksDone(); | 211 void OnEulaBlockingTasksDone(); |
207 | 212 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 scoped_ptr<NetworkScreen> network_screen_; | 251 scoped_ptr<NetworkScreen> network_screen_; |
247 scoped_ptr<UpdateScreen> update_screen_; | 252 scoped_ptr<UpdateScreen> update_screen_; |
248 scoped_ptr<UserImageScreen> user_image_screen_; | 253 scoped_ptr<UserImageScreen> user_image_screen_; |
249 scoped_ptr<EulaScreen> eula_screen_; | 254 scoped_ptr<EulaScreen> eula_screen_; |
250 scoped_ptr<RegistrationScreen> registration_screen_; | 255 scoped_ptr<RegistrationScreen> registration_screen_; |
251 scoped_ptr<ResetScreen> reset_screen_; | 256 scoped_ptr<ResetScreen> reset_screen_; |
252 scoped_ptr<HTMLPageScreen> html_page_screen_; | 257 scoped_ptr<HTMLPageScreen> html_page_screen_; |
253 scoped_ptr<EnterpriseEnrollmentScreen> | 258 scoped_ptr<EnterpriseEnrollmentScreen> |
254 enterprise_enrollment_screen_; | 259 enterprise_enrollment_screen_; |
255 scoped_ptr<TermsOfServiceScreen> terms_of_service_screen_; | 260 scoped_ptr<TermsOfServiceScreen> terms_of_service_screen_; |
| 261 scoped_ptr<WrongHWIDScreen> wrong_hwid_screen_; |
256 | 262 |
257 // Screen that's currently active. | 263 // Screen that's currently active. |
258 WizardScreen* current_screen_; | 264 WizardScreen* current_screen_; |
259 | 265 |
260 // Screen that was active before, or NULL for login screen. | 266 // Screen that was active before, or NULL for login screen. |
261 WizardScreen* previous_screen_; | 267 WizardScreen* previous_screen_; |
262 | 268 |
263 std::string username_; | 269 std::string username_; |
264 std::string password_; | 270 std::string password_; |
265 | 271 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 FRIEND_TEST_ALL_PREFIXES(WizardControllerFlowTest, Accelerators); | 311 FRIEND_TEST_ALL_PREFIXES(WizardControllerFlowTest, Accelerators); |
306 friend class WizardControllerFlowTest; | 312 friend class WizardControllerFlowTest; |
307 friend class WizardInProcessBrowserTest; | 313 friend class WizardInProcessBrowserTest; |
308 | 314 |
309 DISALLOW_COPY_AND_ASSIGN(WizardController); | 315 DISALLOW_COPY_AND_ASSIGN(WizardController); |
310 }; | 316 }; |
311 | 317 |
312 } // namespace chromeos | 318 } // namespace chromeos |
313 | 319 |
314 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ | 320 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ |
OLD | NEW |