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;
18 class ControllerPairingScreenActor;
19 class EnrollmentScreenActor;
20 class ErrorScreenActor;
21 class EulaScreenActor;
22 class HIDDetectionScreenActor;
23 class HostPairingScreenActor;
24 class KioskAutolaunchScreenActor;
25 class KioskEnableScreenActor;
26 class NetworkScreenActor;
27 class ResetScreenActor;
28 class SupervisedUserCreationScreenHandler;
29 class TermsOfServiceScreenActor;
30 class UpdateScreenActor;
31 class UserImageScreenActor;
32 class WrongHWIDScreenActor;
34 // Interface which is used by WizardController to do actual OOBE screens
35 // showing. Also it provides actors for the OOBE screens.
39 SCREEN_OOBE_HID_DETECTION = 0,
43 SCREEN_OOBE_ENROLLMENT,
46 SCREEN_ACCOUNT_PICKER,
47 SCREEN_KIOSK_AUTOLAUNCH,
50 SCREEN_USER_IMAGE_PICKER,
52 SCREEN_PASSWORD_CHANGED,
53 SCREEN_CREATE_SUPERVISED_USER_DIALOG,
54 SCREEN_CREATE_SUPERVISED_USER_FLOW,
55 SCREEN_TERMS_OF_SERVICE,
57 SCREEN_AUTO_ENROLLMENT_CHECK,
58 SCREEN_APP_LAUNCH_SPLASH,
59 SCREEN_CONFIRM_PASSWORD,
61 SCREEN_OOBE_CONTROLLER_PAIRING,
62 SCREEN_OOBE_HOST_PAIRING,
66 virtual ~OobeDisplay() {}
68 // Pointers to actors which should be used by the specific screens. Actors
69 // must be owned by the OobeDisplay implementation.
70 virtual CoreOobeActor* GetCoreOobeActor() = 0;
71 virtual UpdateScreenActor* GetUpdateScreenActor() = 0;
72 virtual NetworkScreenActor* GetNetworkScreenActor() = 0;
73 virtual EulaScreenActor* GetEulaScreenActor() = 0;
74 virtual EnrollmentScreenActor* GetEnrollmentScreenActor() = 0;
75 virtual ResetScreenActor* GetResetScreenActor() = 0;
76 virtual KioskAutolaunchScreenActor* GetKioskAutolaunchScreenActor() = 0;
77 virtual KioskEnableScreenActor* GetKioskEnableScreenActor() = 0;
78 virtual TermsOfServiceScreenActor* GetTermsOfServiceScreenActor() = 0;
79 virtual UserImageScreenActor* GetUserImageScreenActor() = 0;
80 virtual ErrorScreenActor* GetErrorScreenActor() = 0;
81 virtual WrongHWIDScreenActor* GetWrongHWIDScreenActor() = 0;
82 virtual AutoEnrollmentCheckScreenActor*
83 GetAutoEnrollmentCheckScreenActor() = 0;
84 virtual HIDDetectionScreenActor* GetHIDDetectionScreenActor() = 0;
85 virtual SupervisedUserCreationScreenHandler*
86 GetSupervisedUserCreationScreenActor() = 0;
87 virtual AppLaunchSplashScreenActor* GetAppLaunchSplashScreenActor() = 0;
88 virtual ControllerPairingScreenActor* GetControllerPairingScreenActor() = 0;
89 virtual HostPairingScreenActor* GetHostPairingScreenActor() = 0;
91 // Returns if JS side is fully loaded and ready to accept messages.
92 // If |false| is returned, then |display_is_ready_callback| is stored
93 // and will be called once display is ready.
94 virtual bool IsJSReady(const base::Closure& display_is_ready_callback) = 0;
97 } // namespace chromeos
99 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_