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 19 matching lines...) Expand all Loading... |
30 class EulaScreen; | 30 class EulaScreen; |
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 UpdateScreen; | 37 class UpdateScreen; |
38 class UserImageScreen; | 38 class UserImageScreen; |
39 class WizardScreen; | 39 class WizardScreen; |
| 40 class WrongHWIDScreen; |
40 | 41 |
41 // Class that manages control flow between wizard screens. Wizard controller | 42 // Class that manages control flow between wizard screens. Wizard controller |
42 // interacts with screen controllers to move the user between screens. | 43 // interacts with screen controllers to move the user between screens. |
43 class WizardController : public ScreenObserver { | 44 class WizardController : public ScreenObserver { |
44 public: | 45 public: |
45 // Observes screen changes. | 46 // Observes screen changes. |
46 class Observer { | 47 class Observer { |
47 public: | 48 public: |
48 // Called before a screen change happens. | 49 // Called before a screen change happens. |
49 virtual void OnScreenChanged(WizardScreen* next_screen) = 0; | 50 virtual void OnScreenChanged(WizardScreen* next_screen) = 0; |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 | 131 |
131 // Lazy initializers and getters for screens. | 132 // Lazy initializers and getters for screens. |
132 NetworkScreen* GetNetworkScreen(); | 133 NetworkScreen* GetNetworkScreen(); |
133 UpdateScreen* GetUpdateScreen(); | 134 UpdateScreen* GetUpdateScreen(); |
134 UserImageScreen* GetUserImageScreen(); | 135 UserImageScreen* GetUserImageScreen(); |
135 EulaScreen* GetEulaScreen(); | 136 EulaScreen* GetEulaScreen(); |
136 RegistrationScreen* GetRegistrationScreen(); | 137 RegistrationScreen* GetRegistrationScreen(); |
137 HTMLPageScreen* GetHTMLPageScreen(); | 138 HTMLPageScreen* GetHTMLPageScreen(); |
138 EnterpriseEnrollmentScreen* GetEnterpriseEnrollmentScreen(); | 139 EnterpriseEnrollmentScreen* GetEnterpriseEnrollmentScreen(); |
139 ResetScreen* GetResetScreen(); | 140 ResetScreen* GetResetScreen(); |
| 141 WrongHWIDScreen* GetWrongHWIDScreen(); |
140 | 142 |
141 // Returns a pointer to the current screen or NULL if there's no such | 143 // Returns a pointer to the current screen or NULL if there's no such |
142 // screen. | 144 // screen. |
143 WizardScreen* current_screen() const { return current_screen_; } | 145 WizardScreen* current_screen() const { return current_screen_; } |
144 | 146 |
145 // Returns true if the current wizard instance has reached the login screen. | 147 // Returns true if the current wizard instance has reached the login screen. |
146 bool login_screen_started() const { return login_screen_started_; } | 148 bool login_screen_started() const { return login_screen_started_; } |
147 | 149 |
148 static const char kNetworkScreenName[]; | 150 static const char kNetworkScreenName[]; |
149 static const char kLoginScreenName[]; | 151 static const char kLoginScreenName[]; |
150 static const char kUpdateScreenName[]; | 152 static const char kUpdateScreenName[]; |
151 static const char kUserImageScreenName[]; | 153 static const char kUserImageScreenName[]; |
152 static const char kRegistrationScreenName[]; | 154 static const char kRegistrationScreenName[]; |
153 static const char kOutOfBoxScreenName[]; | 155 static const char kOutOfBoxScreenName[]; |
154 static const char kTestNoScreenName[]; | 156 static const char kTestNoScreenName[]; |
155 static const char kEulaScreenName[]; | 157 static const char kEulaScreenName[]; |
156 static const char kHTMLPageScreenName[]; | 158 static const char kHTMLPageScreenName[]; |
157 static const char kEnterpriseEnrollmentScreenName[]; | 159 static const char kEnterpriseEnrollmentScreenName[]; |
158 static const char kResetScreenName[]; | 160 static const char kResetScreenName[]; |
| 161 static const char kWrongHWIDScreenName[]; |
159 | 162 |
160 private: | 163 private: |
161 // Show specific screen. | 164 // Show specific screen. |
162 void ShowNetworkScreen(); | 165 void ShowNetworkScreen(); |
163 void ShowUpdateScreen(); | 166 void ShowUpdateScreen(); |
164 void ShowUserImageScreen(); | 167 void ShowUserImageScreen(); |
165 void ShowEulaScreen(); | 168 void ShowEulaScreen(); |
166 void ShowRegistrationScreen(); | 169 void ShowRegistrationScreen(); |
167 void ShowHTMLPageScreen(); | 170 void ShowHTMLPageScreen(); |
168 void ShowEnterpriseEnrollmentScreen(); | 171 void ShowEnterpriseEnrollmentScreen(); |
169 void ShowResetScreen(); | 172 void ShowResetScreen(); |
| 173 void ShowWrongHWIDScreen(); |
170 | 174 |
171 // Shows images login screen. | 175 // Shows images login screen. |
172 void ShowLoginScreen(); | 176 void ShowLoginScreen(); |
173 | 177 |
174 // Resumes a pending login screen. | 178 // Resumes a pending login screen. |
175 void ResumeLoginScreen(); | 179 void ResumeLoginScreen(); |
176 | 180 |
177 // Exit handlers: | 181 // Exit handlers: |
178 void OnNetworkConnected(); | 182 void OnNetworkConnected(); |
179 void OnNetworkOffline(); | 183 void OnNetworkOffline(); |
180 void OnConnectionFailed(); | 184 void OnConnectionFailed(); |
181 void OnUpdateCompleted(); | 185 void OnUpdateCompleted(); |
182 void OnEulaAccepted(); | 186 void OnEulaAccepted(); |
183 void OnUpdateErrorCheckingForUpdate(); | 187 void OnUpdateErrorCheckingForUpdate(); |
184 void OnUpdateErrorUpdating(); | 188 void OnUpdateErrorUpdating(); |
185 void OnUserImageSelected(); | 189 void OnUserImageSelected(); |
186 void OnUserImageSkipped(); | 190 void OnUserImageSkipped(); |
187 void OnRegistrationSuccess(); | 191 void OnRegistrationSuccess(); |
188 void OnRegistrationSkipped(); | 192 void OnRegistrationSkipped(); |
189 void OnEnterpriseEnrollmentDone(); | 193 void OnEnterpriseEnrollmentDone(); |
190 void OnEnterpriseAutoEnrollmentDone(); | 194 void OnEnterpriseAutoEnrollmentDone(); |
191 void OnResetCanceled(); | 195 void OnResetCanceled(); |
| 196 void OnWrongHWIDWarningSkipped(); |
192 void OnOOBECompleted(); | 197 void OnOOBECompleted(); |
193 | 198 |
194 // Loads brand code on I/O enabled thread and stores to Local State. | 199 // Loads brand code on I/O enabled thread and stores to Local State. |
195 void LoadBrandCodeFromFile(); | 200 void LoadBrandCodeFromFile(); |
196 | 201 |
197 // Called after all post-EULA blocking tasks have been completed. | 202 // Called after all post-EULA blocking tasks have been completed. |
198 void OnEulaBlockingTasksDone(); | 203 void OnEulaBlockingTasksDone(); |
199 | 204 |
200 // Shows update screen and starts update process. | 205 // Shows update screen and starts update process. |
201 void InitiateOOBEUpdate(); | 206 void InitiateOOBEUpdate(); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 // Screens. | 240 // Screens. |
236 scoped_ptr<NetworkScreen> network_screen_; | 241 scoped_ptr<NetworkScreen> network_screen_; |
237 scoped_ptr<UpdateScreen> update_screen_; | 242 scoped_ptr<UpdateScreen> update_screen_; |
238 scoped_ptr<UserImageScreen> user_image_screen_; | 243 scoped_ptr<UserImageScreen> user_image_screen_; |
239 scoped_ptr<EulaScreen> eula_screen_; | 244 scoped_ptr<EulaScreen> eula_screen_; |
240 scoped_ptr<RegistrationScreen> registration_screen_; | 245 scoped_ptr<RegistrationScreen> registration_screen_; |
241 scoped_ptr<ResetScreen> reset_screen_; | 246 scoped_ptr<ResetScreen> reset_screen_; |
242 scoped_ptr<HTMLPageScreen> html_page_screen_; | 247 scoped_ptr<HTMLPageScreen> html_page_screen_; |
243 scoped_ptr<EnterpriseEnrollmentScreen> | 248 scoped_ptr<EnterpriseEnrollmentScreen> |
244 enterprise_enrollment_screen_; | 249 enterprise_enrollment_screen_; |
| 250 scoped_ptr<WrongHWIDScreen> wrong_hwid_screen_; |
245 | 251 |
246 // Screen that's currently active. | 252 // Screen that's currently active. |
247 WizardScreen* current_screen_; | 253 WizardScreen* current_screen_; |
248 | 254 |
249 // Screen that was active before, or NULL for login screen. | 255 // Screen that was active before, or NULL for login screen. |
250 WizardScreen* previous_screen_; | 256 WizardScreen* previous_screen_; |
251 | 257 |
252 std::string username_; | 258 std::string username_; |
253 std::string password_; | 259 std::string password_; |
254 | 260 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 FRIEND_TEST_ALL_PREFIXES(WizardControllerFlowTest, Accelerators); | 300 FRIEND_TEST_ALL_PREFIXES(WizardControllerFlowTest, Accelerators); |
295 friend class WizardControllerFlowTest; | 301 friend class WizardControllerFlowTest; |
296 friend class WizardInProcessBrowserTest; | 302 friend class WizardInProcessBrowserTest; |
297 | 303 |
298 DISALLOW_COPY_AND_ASSIGN(WizardController); | 304 DISALLOW_COPY_AND_ASSIGN(WizardController); |
299 }; | 305 }; |
300 | 306 |
301 } // namespace chromeos | 307 } // namespace chromeos |
302 | 308 |
303 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ | 309 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ |
OLD | NEW |