Home | History | Annotate | Download | only in ui
      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.
      4 
      5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_
      6 #define CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_
      7 
      8 #include <string>
      9 
     10 #include "base/basictypes.h"
     11 #include "base/callback.h"
     12 
     13 namespace chromeos {
     14 
     15 class AppLaunchSplashScreenActor;
     16 class AutoEnrollmentCheckScreenActor;
     17 class CoreOobeActor;
     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;
     33 
     34 // Interface which is used by WizardController to do actual OOBE screens
     35 // showing. Also it provides actors for the OOBE screens.
     36 class OobeDisplay {
     37  public:
     38   enum Screen {
     39     SCREEN_OOBE_HID_DETECTION = 0,
     40     SCREEN_OOBE_NETWORK,
     41     SCREEN_OOBE_EULA,
     42     SCREEN_OOBE_UPDATE,
     43     SCREEN_OOBE_ENROLLMENT,
     44     SCREEN_OOBE_RESET,
     45     SCREEN_GAIA_SIGNIN,
     46     SCREEN_ACCOUNT_PICKER,
     47     SCREEN_KIOSK_AUTOLAUNCH,
     48     SCREEN_KIOSK_ENABLE,
     49     SCREEN_ERROR_MESSAGE,
     50     SCREEN_USER_IMAGE_PICKER,
     51     SCREEN_TPM_ERROR,
     52     SCREEN_PASSWORD_CHANGED,
     53     SCREEN_CREATE_SUPERVISED_USER_DIALOG,
     54     SCREEN_CREATE_SUPERVISED_USER_FLOW,
     55     SCREEN_TERMS_OF_SERVICE,
     56     SCREEN_WRONG_HWID,
     57     SCREEN_AUTO_ENROLLMENT_CHECK,
     58     SCREEN_APP_LAUNCH_SPLASH,
     59     SCREEN_CONFIRM_PASSWORD,
     60     SCREEN_FATAL_ERROR,
     61     SCREEN_OOBE_CONTROLLER_PAIRING,
     62     SCREEN_OOBE_HOST_PAIRING,
     63     SCREEN_UNKNOWN
     64   };
     65 
     66   virtual ~OobeDisplay() {}
     67 
     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;
     90 
     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;
     95 };
     96 
     97 }  // namespace chromeos
     98 
     99 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_UI_OOBE_DISPLAY_H_
    100