Chromium Code Reviews| 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 <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| 11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
| 12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
| 13 #include "base/containers/hash_tables.h" | 13 #include "base/containers/hash_tables.h" |
| 14 #include "base/gtest_prod_util.h" | 14 #include "base/gtest_prod_util.h" |
| 15 #include "base/memory/linked_ptr.h" | 15 #include "base/memory/linked_ptr.h" |
| 16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
| 17 #include "base/memory/weak_ptr.h" | 17 #include "base/memory/weak_ptr.h" |
| 18 #include "base/observer_list.h" | 18 #include "base/observer_list.h" |
| 19 #include "base/time/time.h" | 19 #include "base/time/time.h" |
| 20 #include "base/timer/timer.h" | 20 #include "base/timer/timer.h" |
| 21 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 21 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
| 22 #include "chrome/browser/chromeos/login/screen_manager.h" | |
| 22 #include "chrome/browser/chromeos/login/screens/screen_observer.h" | 23 #include "chrome/browser/chromeos/login/screens/screen_observer.h" |
| 23 | 24 |
| 24 class PrefRegistrySimple; | 25 class PrefRegistrySimple; |
| 25 class PrefService; | 26 class PrefService; |
| 26 | 27 |
| 27 namespace base { | 28 namespace base { |
| 28 class DictionaryValue; | 29 class DictionaryValue; |
| 29 } | 30 } |
| 30 | 31 |
| 31 namespace chromeos { | 32 namespace chromeos { |
| 32 | 33 |
| 33 class AutoEnrollmentCheckScreen; | 34 class AutoEnrollmentCheckScreen; |
| 34 class EnrollmentScreen; | 35 class EnrollmentScreen; |
| 35 class ErrorScreen; | 36 class ErrorScreen; |
| 36 struct Geoposition; | 37 struct Geoposition; |
| 37 class LoginDisplayHost; | 38 class LoginDisplayHost; |
| 38 class LoginScreenContext; | 39 class LoginScreenContext; |
| 39 class NetworkScreen; | 40 class NetworkScreen; |
| 40 class OobeDisplay; | 41 class OobeDisplay; |
| 41 class SimpleGeolocationProvider; | 42 class SimpleGeolocationProvider; |
| 42 class SupervisedUserCreationScreen; | 43 class SupervisedUserCreationScreen; |
| 43 class TimeZoneProvider; | 44 class TimeZoneProvider; |
| 44 struct TimeZoneResponseData; | 45 struct TimeZoneResponseData; |
| 45 class UpdateScreen; | 46 class UpdateScreen; |
| 46 class UserImageScreen; | 47 class UserImageScreen; |
| 47 | 48 |
| 48 // Class that manages control flow between wizard screens. Wizard controller | 49 // Class that manages control flow between wizard screens. Wizard controller |
| 49 // interacts with screen controllers to move the user between screens. | 50 // interacts with screen controllers to move the user between screens. |
| 50 class WizardController : public ScreenObserver { | 51 class WizardController : public ScreenObserver, public ScreenManager { |
| 51 public: | 52 public: |
| 52 // Observes screen changes. | 53 // Observes screen changes. |
| 53 class Observer { | 54 class Observer { |
| 54 public: | 55 public: |
| 55 // Called before a screen change happens. | 56 // Called before a screen change happens. |
| 56 virtual void OnScreenChanged(WizardScreen* next_screen) = 0; | 57 virtual void OnScreenChanged(WizardScreen* next_screen) = 0; |
| 57 | 58 |
| 58 // Called after the browser session has started. | 59 // Called after the browser session has started. |
| 59 virtual void OnSessionStart() = 0; | 60 virtual void OnSessionStart() = 0; |
| 60 }; | 61 }; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 114 // Called right after the browser session has started. | 115 // Called right after the browser session has started. |
| 115 void OnSessionStart(); | 116 void OnSessionStart(); |
| 116 | 117 |
| 117 // Skip update, go straight to enrollment after EULA is accepted. | 118 // Skip update, go straight to enrollment after EULA is accepted. |
| 118 void SkipUpdateEnrollAfterEula(); | 119 void SkipUpdateEnrollAfterEula(); |
| 119 | 120 |
| 120 // TODO(antrim) : temporary hack. Should be removed once screen system is | 121 // TODO(antrim) : temporary hack. Should be removed once screen system is |
| 121 // reworked at hackaton. | 122 // reworked at hackaton. |
| 122 void EnableUserImageScreenReturnToPreviousHack(); | 123 void EnableUserImageScreenReturnToPreviousHack(); |
| 123 | 124 |
| 124 // Lazy initializers and getters for screens. | |
| 125 WizardScreen* GetScreen(const std::string& screen_name); | |
| 126 WizardScreen* CreateScreen(const std::string& screen_name); | |
| 127 | |
| 128 // Typed getters for the screens. | |
| 129 NetworkScreen* GetNetworkScreen(); | |
| 130 UpdateScreen* GetUpdateScreen(); | |
| 131 UserImageScreen* GetUserImageScreen(); | |
| 132 EnrollmentScreen* GetEnrollmentScreen(); | |
| 133 AutoEnrollmentCheckScreen* GetAutoEnrollmentCheckScreen(); | |
| 134 SupervisedUserCreationScreen* GetSupervisedUserCreationScreen(); | |
| 135 | 125 |
| 136 // Returns a pointer to the current screen or NULL if there's no such | 126 // Returns a pointer to the current screen or NULL if there's no such |
| 137 // screen. | 127 // screen. |
| 138 WizardScreen* current_screen() const { return current_screen_; } | 128 WizardScreen* current_screen() const { return current_screen_; } |
| 139 | 129 |
| 140 // Returns true if the current wizard instance has reached the login screen. | 130 // Returns true if the current wizard instance has reached the login screen. |
| 141 bool login_screen_started() const { return login_screen_started_; } | 131 bool login_screen_started() const { return login_screen_started_; } |
| 142 | 132 |
| 133 // ScreenManager override. | |
|
ygorshenin1
2014/09/03 12:58:46
s/override./implementation:/
Denis Kuznetsov (DE-MUC)
2014/09/03 13:16:06
Done.
| |
| 134 virtual WizardScreen* CreateScreen(const std::string& screen_name) OVERRIDE; | |
| 135 | |
| 143 static const char kNetworkScreenName[]; | 136 static const char kNetworkScreenName[]; |
| 144 static const char kLoginScreenName[]; | 137 static const char kLoginScreenName[]; |
| 145 static const char kUpdateScreenName[]; | 138 static const char kUpdateScreenName[]; |
| 146 static const char kUserImageScreenName[]; | 139 static const char kUserImageScreenName[]; |
| 147 static const char kOutOfBoxScreenName[]; | 140 static const char kOutOfBoxScreenName[]; |
| 148 static const char kTestNoScreenName[]; | 141 static const char kTestNoScreenName[]; |
| 149 static const char kEulaScreenName[]; | 142 static const char kEulaScreenName[]; |
| 150 static const char kEnrollmentScreenName[]; | 143 static const char kEnrollmentScreenName[]; |
| 151 static const char kResetScreenName[]; | 144 static const char kResetScreenName[]; |
| 152 static const char kKioskEnableScreenName[]; | 145 static const char kKioskEnableScreenName[]; |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 396 base::Closure on_timezone_resolved_for_testing_; | 389 base::Closure on_timezone_resolved_for_testing_; |
| 397 | 390 |
| 398 base::WeakPtrFactory<WizardController> weak_factory_; | 391 base::WeakPtrFactory<WizardController> weak_factory_; |
| 399 | 392 |
| 400 DISALLOW_COPY_AND_ASSIGN(WizardController); | 393 DISALLOW_COPY_AND_ASSIGN(WizardController); |
| 401 }; | 394 }; |
| 402 | 395 |
| 403 } // namespace chromeos | 396 } // namespace chromeos |
| 404 | 397 |
| 405 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ | 398 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_CONTROLLER_H_ |
| OLD | NEW |