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
;
24 class GaiaScreenHandler
;
25 class HIDDetectionView
;
26 class HostPairingScreenActor
;
27 class KioskAutolaunchScreenActor
;
28 class KioskEnableScreenActor
;
29 class NetworkErrorView
;
32 class SupervisedUserCreationScreenHandler
;
33 class TermsOfServiceScreenActor
;
37 class WrongHWIDScreenActor
;
39 // Interface which is used by WizardController to do actual OOBE screens
40 // showing. Also it provides actors for the OOBE screens.
44 SCREEN_OOBE_HID_DETECTION
= 0,
48 SCREEN_OOBE_ENABLE_DEBUGGING
,
49 SCREEN_OOBE_ENROLLMENT
,
52 SCREEN_ACCOUNT_PICKER
,
53 SCREEN_KIOSK_AUTOLAUNCH
,
56 SCREEN_USER_IMAGE_PICKER
,
58 SCREEN_PASSWORD_CHANGED
,
59 SCREEN_CREATE_SUPERVISED_USER_DIALOG
,
60 SCREEN_CREATE_SUPERVISED_USER_FLOW
,
61 SCREEN_TERMS_OF_SERVICE
,
63 SCREEN_AUTO_ENROLLMENT_CHECK
,
64 SCREEN_APP_LAUNCH_SPLASH
,
65 SCREEN_CONFIRM_PASSWORD
,
67 SCREEN_OOBE_CONTROLLER_PAIRING
,
68 SCREEN_OOBE_HOST_PAIRING
,
69 SCREEN_DEVICE_DISABLED
,
73 virtual ~OobeDisplay() {}
75 // Pointers to actors which should be used by the specific screens. Actors
76 // must be owned by the OobeDisplay implementation.
77 virtual CoreOobeActor
* GetCoreOobeActor() = 0;
78 virtual NetworkView
* GetNetworkView() = 0;
79 virtual EulaView
* GetEulaView() = 0;
80 virtual UpdateView
* GetUpdateView() = 0;
81 virtual EnableDebuggingScreenActor
* GetEnableDebuggingScreenActor() = 0;
82 virtual EnrollmentScreenActor
* GetEnrollmentScreenActor() = 0;
83 virtual ResetView
* GetResetView() = 0;
84 virtual KioskAutolaunchScreenActor
* GetKioskAutolaunchScreenActor() = 0;
85 virtual KioskEnableScreenActor
* GetKioskEnableScreenActor() = 0;
86 virtual TermsOfServiceScreenActor
* GetTermsOfServiceScreenActor() = 0;
87 virtual UserImageView
* GetUserImageView() = 0;
88 virtual ErrorScreen
* GetErrorScreen() = 0;
89 virtual WrongHWIDScreenActor
* GetWrongHWIDScreenActor() = 0;
90 virtual AutoEnrollmentCheckScreenActor
*
91 GetAutoEnrollmentCheckScreenActor() = 0;
92 virtual HIDDetectionView
* GetHIDDetectionView() = 0;
93 virtual SupervisedUserCreationScreenHandler
*
94 GetSupervisedUserCreationScreenActor() = 0;
95 virtual AppLaunchSplashScreenActor
* GetAppLaunchSplashScreenActor() = 0;
96 virtual ControllerPairingScreenActor
* GetControllerPairingScreenActor() = 0;
97 virtual HostPairingScreenActor
* GetHostPairingScreenActor() = 0;
98 virtual DeviceDisabledScreenActor
* GetDeviceDisabledScreenActor() = 0;
99 virtual GaiaScreenHandler
* GetGaiaScreenActor() = 0;
100 virtual UserBoardView
* GetUserBoardScreenActor() = 0;
102 // Returns if JS side is fully loaded and ready to accept messages.
103 // If |false| is returned, then |display_is_ready_callback| is stored
104 // and will be called once display is ready.
105 virtual bool IsJSReady(const base::Closure
& display_is_ready_callback
) = 0;
108 } // namespace chromeos
110 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_