OLD | NEW |
| (Empty) |
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. | |
4 | |
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_ | |
7 | |
8 #include "base/strings/string16.h" | |
9 | |
10 namespace chromeos { | |
11 | |
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, | |
22 APP_LAUNCH_STATE_SHOWING_NETWORK_CONFIGURE_UI, | |
23 }; | |
24 | |
25 class Delegate { | |
26 public: | |
27 // Invoked when the configure network control is clicked. | |
28 virtual void OnConfigureNetwork() = 0; | |
29 | |
30 // Invoked when the app launch bailout shortcut key is pressed. | |
31 virtual void OnCancelAppLaunch() = 0; | |
32 | |
33 // Invoked when the network config shortcut key is pressed. | |
34 virtual void OnNetworkConfigRequested(bool requested) = 0; | |
35 | |
36 // Invoked when network state is changed. |online| is true if the device | |
37 // is connected to the Internet. | |
38 virtual void OnNetworkStateChanged(bool online) = 0; | |
39 | |
40 protected: | |
41 virtual ~Delegate() {} | |
42 }; | |
43 | |
44 virtual ~AppLaunchSplashScreenActor() {} | |
45 | |
46 // Sets screen this actor belongs to. | |
47 virtual void SetDelegate(Delegate* screen) = 0; | |
48 | |
49 // Shows the contents of the screen. | |
50 virtual void Show(const std::string& app_id) = 0; | |
51 | |
52 // Hides the contents of the screen. | |
53 virtual void Hide() = 0; | |
54 | |
55 // Set the current app launch state. | |
56 virtual void UpdateAppLaunchState(AppLaunchState state) = 0; | |
57 | |
58 // Sets whether configure network control is visible. | |
59 virtual void ToggleNetworkConfig(bool visible) = 0; | |
60 | |
61 // Shows the network error and configure UI. | |
62 virtual void ShowNetworkConfigureUI() = 0; | |
63 | |
64 // Returns true if the default network has Internet access. | |
65 virtual bool IsNetworkReady() = 0; | |
66 }; | |
67 | |
68 } // namespace chromeos | |
69 | |
70 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_APP_LAUNCH_SPLASH_SCREEN_ACTOR_
H_ | |
OLD | NEW |