Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / chromeos / login / screens / app_launch_splash_screen_actor.h
blob2547466cd483680b86e1e4d70705e476d326c5a7
1 // Copyright 2013 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_SCREENS_APP_LAUNCH_SPLASH_SCREEN_ACTOR_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_APP_LAUNCH_SPLASH_SCREEN_ACTOR_H_
8 #include "base/strings/string16.h"
10 namespace chromeos {
12 // Interface for UI implemenations of the ApplaunchSplashScreen.
13 class AppLaunchSplashScreenActor {
14 public:
15 enum AppLaunchState {
16 APP_LAUNCH_STATE_LOADING_AUTH_FILE,
17 APP_LAUNCH_STATE_LOADING_TOKEN_SERVICE,
18 APP_LAUNCH_STATE_PREPARING_NETWORK,
19 APP_LAUNCH_STATE_INSTALLING_APPLICATION,
20 APP_LAUNCH_STATE_WAITING_APP_WINDOW,
21 APP_LAUNCH_STATE_NETWORK_WAIT_TIMEOUT,
24 class Delegate {
25 public:
26 // Invoked when the configure network control is clicked.
27 virtual void OnConfigureNetwork() = 0;
29 // Invoked when the app launch bailout shortcut key is pressed.
30 virtual void OnCancelAppLaunch() = 0;
32 // Invoked when network state is changed. |online| is true if the device
33 // is connected to the Internet.
34 virtual void OnNetworkStateChanged(bool online) = 0;
36 protected:
37 virtual ~Delegate() {}
40 virtual ~AppLaunchSplashScreenActor() {}
42 // Sets screen this actor belongs to.
43 virtual void SetDelegate(Delegate* screen) = 0;
45 // Prepare the contents to showing.
46 virtual void PrepareToShow() = 0;
48 // Shows the contents of the screen.
49 virtual void Show(const std::string& app_id) = 0;
51 // Hides the contents of the screen.
52 virtual void Hide() = 0;
54 // Set the current app launch state.
55 virtual void UpdateAppLaunchState(AppLaunchState state) = 0;
57 // Sets whether configure network control is visible.
58 virtual void ToggleNetworkConfig(bool visible) = 0;
60 // Shows the network error and configure UI.
61 virtual void ShowNetworkConfigureUI() = 0;
64 } // namespace chromeos
66 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_APP_LAUNCH_SPLASH_SCREEN_ACTOR_H_