ozone: evdev: Sync caps lock LED state to evdev
[chromium-blink-merge.git] / chrome / browser / chromeos / login / ui / oobe_display.h
blob1bf92f38e8f8deac238471bcf1ecd815e9ffcedf
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_
8 #include <string>
10 #include "base/basictypes.h"
11 #include "base/callback.h"
13 namespace chromeos {
15 class AppLaunchSplashScreenActor;
16 class AutoEnrollmentCheckScreenActor;
17 class ControllerPairingScreenActor;
18 class CoreOobeActor;
19 class DeviceDisabledScreenActor;
20 class EnableDebuggingScreenActor;
21 class EnrollmentScreenActor;
22 class EulaView;
23 class GaiaScreenHandler;
24 class HIDDetectionView;
25 class HostPairingScreenActor;
26 class KioskAutolaunchScreenActor;
27 class KioskEnableScreenActor;
28 class NetworkErrorView;
29 class NetworkView;
30 class ResetView;
31 class SupervisedUserCreationScreenHandler;
32 class TermsOfServiceScreenActor;
33 class UpdateView;
34 class UserImageView;
35 class UserBoardView;
36 class WrongHWIDScreenActor;
38 // Interface which is used by WizardController to do actual OOBE screens
39 // showing. Also it provides actors for the OOBE screens.
40 class OobeDisplay {
41 public:
42 enum Screen {
43 SCREEN_OOBE_HID_DETECTION = 0,
44 SCREEN_OOBE_NETWORK,
45 SCREEN_OOBE_EULA,
46 SCREEN_OOBE_UPDATE,
47 SCREEN_OOBE_ENABLE_DEBUGGING,
48 SCREEN_OOBE_ENROLLMENT,
49 SCREEN_OOBE_RESET,
50 SCREEN_GAIA_SIGNIN,
51 SCREEN_ACCOUNT_PICKER,
52 SCREEN_KIOSK_AUTOLAUNCH,
53 SCREEN_KIOSK_ENABLE,
54 SCREEN_ERROR_MESSAGE,
55 SCREEN_USER_IMAGE_PICKER,
56 SCREEN_TPM_ERROR,
57 SCREEN_PASSWORD_CHANGED,
58 SCREEN_CREATE_SUPERVISED_USER_DIALOG,
59 SCREEN_CREATE_SUPERVISED_USER_FLOW,
60 SCREEN_TERMS_OF_SERVICE,
61 SCREEN_WRONG_HWID,
62 SCREEN_AUTO_ENROLLMENT_CHECK,
63 SCREEN_APP_LAUNCH_SPLASH,
64 SCREEN_CONFIRM_PASSWORD,
65 SCREEN_FATAL_ERROR,
66 SCREEN_OOBE_CONTROLLER_PAIRING,
67 SCREEN_OOBE_HOST_PAIRING,
68 SCREEN_DEVICE_DISABLED,
69 SCREEN_UNKNOWN
72 virtual ~OobeDisplay() {}
74 // Pointers to actors which should be used by the specific screens. Actors
75 // must be owned by the OobeDisplay implementation.
76 virtual CoreOobeActor* GetCoreOobeActor() = 0;
77 virtual NetworkView* GetNetworkView() = 0;
78 virtual EulaView* GetEulaView() = 0;
79 virtual UpdateView* GetUpdateView() = 0;
80 virtual EnableDebuggingScreenActor* GetEnableDebuggingScreenActor() = 0;
81 virtual EnrollmentScreenActor* GetEnrollmentScreenActor() = 0;
82 virtual ResetView* GetResetView() = 0;
83 virtual KioskAutolaunchScreenActor* GetKioskAutolaunchScreenActor() = 0;
84 virtual KioskEnableScreenActor* GetKioskEnableScreenActor() = 0;
85 virtual TermsOfServiceScreenActor* GetTermsOfServiceScreenActor() = 0;
86 virtual UserImageView* GetUserImageView() = 0;
87 virtual NetworkErrorView* GetNetworkErrorView() = 0;
88 virtual WrongHWIDScreenActor* GetWrongHWIDScreenActor() = 0;
89 virtual AutoEnrollmentCheckScreenActor*
90 GetAutoEnrollmentCheckScreenActor() = 0;
91 virtual HIDDetectionView* GetHIDDetectionView() = 0;
92 virtual SupervisedUserCreationScreenHandler*
93 GetSupervisedUserCreationScreenActor() = 0;
94 virtual AppLaunchSplashScreenActor* GetAppLaunchSplashScreenActor() = 0;
95 virtual ControllerPairingScreenActor* GetControllerPairingScreenActor() = 0;
96 virtual HostPairingScreenActor* GetHostPairingScreenActor() = 0;
97 virtual DeviceDisabledScreenActor* GetDeviceDisabledScreenActor() = 0;
98 virtual GaiaScreenHandler* GetGaiaScreenActor() = 0;
99 virtual UserBoardView* GetUserBoardScreenActor() = 0;
101 // Returns if JS side is fully loaded and ready to accept messages.
102 // If |false| is returned, then |display_is_ready_callback| is stored
103 // and will be called once display is ready.
104 virtual bool IsJSReady(const base::Closure& display_is_ready_callback) = 0;
107 } // namespace chromeos
109 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_