| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_OOBE_DISPLAY_H_ |
| #define CHROME_BROWSER_CHROMEOS_LOGIN_OOBE_DISPLAY_H_ |
| |
| #include <string> |
| |
| #include "base/basictypes.h" |
| #include "base/callback.h" |
| |
| namespace chromeos { |
| |
| class AppLaunchSplashScreenActor; |
| class EnrollmentScreenActor; |
| class ErrorScreenActor; |
| class EulaScreenActor; |
| class KioskAutolaunchScreenActor; |
| class KioskEnableScreenActor; |
| class NetworkScreenActor; |
| class ResetScreenActor; |
| class TermsOfServiceScreenActor; |
| class UpdateScreenActor; |
| class UserImageScreenActor; |
| // TODO(altimofeev): use real actors instead |
| class ViewScreenDelegate; |
| class WizardScreen; |
| class WrongHWIDScreenActor; |
| class LocallyManagedUserCreationScreenHandler; |
| |
| // Interface which is used by WizardController to do actual OOBE screens |
| // showing. Also it provides actors for the OOBE screens. |
| class OobeDisplay { |
| public: |
| enum Screen { |
| SCREEN_OOBE_NETWORK = 0, |
| SCREEN_OOBE_EULA, |
| SCREEN_OOBE_UPDATE, |
| SCREEN_OOBE_ENROLLMENT, |
| SCREEN_GAIA_SIGNIN, |
| SCREEN_ACCOUNT_PICKER, |
| SCREEN_KIOSK_AUTOLAUNCH, |
| SCREEN_KIOSK_ENABLE, |
| SCREEN_ERROR_MESSAGE, |
| SCREEN_USER_IMAGE_PICKER, |
| SCREEN_TPM_ERROR, |
| SCREEN_PASSWORD_CHANGED, |
| SCREEN_CREATE_MANAGED_USER_DIALOG, |
| SCREEN_CREATE_MANAGED_USER_FLOW, |
| SCREEN_TERMS_OF_SERVICE, |
| SCREEN_WRONG_HWID, |
| SCREEN_APP_LAUNCH_SPLASH, |
| SCREEN_CONFIRM_PASSWORD, |
| SCREEN_MESSAGE_BOX, |
| SCREEN_UNKNOWN |
| }; |
| |
| virtual ~OobeDisplay() {} |
| |
| // Shows the given screen. |
| virtual void ShowScreen(WizardScreen* screen) = 0; |
| |
| // Hides the given screen. |
| virtual void HideScreen(WizardScreen* screen) = 0; |
| |
| // Pointers to actors which should be used by the specific screens. Actors |
| // must be owned by the OobeDisplay implementation. |
| virtual UpdateScreenActor* GetUpdateScreenActor() = 0; |
| virtual NetworkScreenActor* GetNetworkScreenActor() = 0; |
| virtual EulaScreenActor* GetEulaScreenActor() = 0; |
| virtual EnrollmentScreenActor* GetEnrollmentScreenActor() = 0; |
| virtual ResetScreenActor* GetResetScreenActor() = 0; |
| virtual KioskAutolaunchScreenActor* GetKioskAutolaunchScreenActor() = 0; |
| virtual KioskEnableScreenActor* GetKioskEnableScreenActor() = 0; |
| virtual TermsOfServiceScreenActor* GetTermsOfServiceScreenActor() = 0; |
| virtual UserImageScreenActor* GetUserImageScreenActor() = 0; |
| virtual ErrorScreenActor* GetErrorScreenActor() = 0; |
| virtual WrongHWIDScreenActor* GetWrongHWIDScreenActor() = 0; |
| virtual LocallyManagedUserCreationScreenHandler* |
| GetLocallyManagedUserCreationScreenActor() = 0; |
| virtual AppLaunchSplashScreenActor* GetAppLaunchSplashScreenActor() = 0; |
| |
| // Returns if JS side is fully loaded and ready to accept messages. |
| // If |false| is returned, then |display_is_ready_callback| is stored |
| // and will be called once display is ready. |
| virtual bool IsJSReady(const base::Closure& display_is_ready_callback) = 0; |
| }; |
| |
| } // namespace chromeos |
| |
| #endif // CHROME_BROWSER_CHROMEOS_LOGIN_OOBE_DISPLAY_H_ |