OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_OOBE_DISPLAY_H_ | |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_OOBE_DISPLAY_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "base/basictypes.h" | |
11 #include "base/callback.h" | |
12 | |
13 namespace chromeos { | |
14 | |
15 class AppLaunchSplashScreenActor; | |
16 class EnrollmentScreenActor; | |
17 class ErrorScreenActor; | |
18 class EulaScreenActor; | |
19 class HIDDetectionScreenActor; | |
20 class KioskAutolaunchScreenActor; | |
21 class KioskEnableScreenActor; | |
22 class NetworkScreenActor; | |
23 class ResetScreenActor; | |
24 class TermsOfServiceScreenActor; | |
25 class UpdateScreenActor; | |
26 class UserImageScreenActor; | |
27 // TODO(altimofeev): use real actors instead | |
28 class ViewScreenDelegate; | |
29 class WizardScreen; | |
30 class WrongHWIDScreenActor; | |
31 class LocallyManagedUserCreationScreenHandler; | |
32 | |
33 // Interface which is used by WizardController to do actual OOBE screens | |
34 // showing. Also it provides actors for the OOBE screens. | |
35 class OobeDisplay { | |
36 public: | |
37 enum Screen { | |
38 SCREEN_OOBE_HID_DETECTION = 0, | |
39 SCREEN_OOBE_NETWORK, | |
40 SCREEN_OOBE_EULA, | |
41 SCREEN_OOBE_UPDATE, | |
42 SCREEN_OOBE_ENROLLMENT, | |
43 SCREEN_OOBE_RESET, | |
44 SCREEN_GAIA_SIGNIN, | |
45 SCREEN_ACCOUNT_PICKER, | |
46 SCREEN_KIOSK_AUTOLAUNCH, | |
47 SCREEN_KIOSK_ENABLE, | |
48 SCREEN_ERROR_MESSAGE, | |
49 SCREEN_USER_IMAGE_PICKER, | |
50 SCREEN_TPM_ERROR, | |
51 SCREEN_PASSWORD_CHANGED, | |
52 SCREEN_CREATE_MANAGED_USER_DIALOG, | |
53 SCREEN_CREATE_MANAGED_USER_FLOW, | |
54 SCREEN_TERMS_OF_SERVICE, | |
55 SCREEN_WRONG_HWID, | |
56 SCREEN_APP_LAUNCH_SPLASH, | |
57 SCREEN_CONFIRM_PASSWORD, | |
58 SCREEN_FATAL_ERROR, | |
59 SCREEN_UNKNOWN | |
60 }; | |
61 | |
62 virtual ~OobeDisplay() {} | |
63 | |
64 // Shows the given screen. | |
65 virtual void ShowScreen(WizardScreen* screen) = 0; | |
66 | |
67 // Hides the given screen. | |
68 virtual void HideScreen(WizardScreen* screen) = 0; | |
69 | |
70 // Pointers to actors which should be used by the specific screens. Actors | |
71 // must be owned by the OobeDisplay implementation. | |
72 virtual UpdateScreenActor* GetUpdateScreenActor() = 0; | |
73 virtual NetworkScreenActor* GetNetworkScreenActor() = 0; | |
74 virtual EulaScreenActor* GetEulaScreenActor() = 0; | |
75 virtual EnrollmentScreenActor* GetEnrollmentScreenActor() = 0; | |
76 virtual ResetScreenActor* GetResetScreenActor() = 0; | |
77 virtual KioskAutolaunchScreenActor* GetKioskAutolaunchScreenActor() = 0; | |
78 virtual KioskEnableScreenActor* GetKioskEnableScreenActor() = 0; | |
79 virtual TermsOfServiceScreenActor* GetTermsOfServiceScreenActor() = 0; | |
80 virtual UserImageScreenActor* GetUserImageScreenActor() = 0; | |
81 virtual ErrorScreenActor* GetErrorScreenActor() = 0; | |
82 virtual WrongHWIDScreenActor* GetWrongHWIDScreenActor() = 0; | |
83 virtual HIDDetectionScreenActor* GetHIDDetectionScreenActor() = 0; | |
84 virtual LocallyManagedUserCreationScreenHandler* | |
85 GetLocallyManagedUserCreationScreenActor() = 0; | |
86 virtual AppLaunchSplashScreenActor* GetAppLaunchSplashScreenActor() = 0; | |
87 | |
88 // Returns if JS side is fully loaded and ready to accept messages. | |
89 // If |false| is returned, then |display_is_ready_callback| is stored | |
90 // and will be called once display is ready. | |
91 virtual bool IsJSReady(const base::Closure& display_is_ready_callback) = 0; | |
92 }; | |
93 | |
94 } // namespace chromeos | |
95 | |
96 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_OOBE_DISPLAY_H_ | |
OLD | NEW |