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_
10 #include "base/basictypes.h"
11 #include "base/callback.h"
15 class AppLaunchSplashScreenActor
;
16 class AutoEnrollmentCheckScreenActor
;
17 class ControllerPairingScreenActor
;
19 class DeviceDisabledScreenActor
;
20 class EnableDebuggingScreenActor
;
21 class EnrollmentScreenActor
;
23 class GaiaScreenHandler
;
24 class HIDDetectionView
;
25 class HostPairingScreenActor
;
26 class KioskAutolaunchScreenActor
;
27 class KioskEnableScreenActor
;
28 class NetworkErrorView
;
31 class SupervisedUserCreationScreenHandler
;
32 class TermsOfServiceScreenActor
;
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.
43 SCREEN_OOBE_HID_DETECTION
= 0,
47 SCREEN_OOBE_ENABLE_DEBUGGING
,
48 SCREEN_OOBE_ENROLLMENT
,
51 SCREEN_ACCOUNT_PICKER
,
52 SCREEN_KIOSK_AUTOLAUNCH
,
55 SCREEN_USER_IMAGE_PICKER
,
57 SCREEN_PASSWORD_CHANGED
,
58 SCREEN_CREATE_SUPERVISED_USER_DIALOG
,
59 SCREEN_CREATE_SUPERVISED_USER_FLOW
,
60 SCREEN_TERMS_OF_SERVICE
,
62 SCREEN_AUTO_ENROLLMENT_CHECK
,
63 SCREEN_APP_LAUNCH_SPLASH
,
64 SCREEN_CONFIRM_PASSWORD
,
66 SCREEN_OOBE_CONTROLLER_PAIRING
,
67 SCREEN_OOBE_HOST_PAIRING
,
68 SCREEN_DEVICE_DISABLED
,
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_