app_launch_splash_screen_actor.h revision 3551c9c881056c480085172ff9840cab31610854
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 10namespace chromeos { 11 12// Interface for UI implemenations of the ApplaunchSplashScreen. 13class 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 }; 21 22 class Delegate { 23 public: 24 virtual void OnConfigureNetwork() = 0; 25 virtual void OnCancelAppLaunch() = 0; 26 27 protected: 28 virtual ~Delegate() {} 29 }; 30 31 virtual ~AppLaunchSplashScreenActor() {} 32 33 // Sets screen this actor belongs to. 34 virtual void SetDelegate(Delegate* screen) = 0; 35 36 // Prepare the contents to showing. 37 virtual void PrepareToShow() = 0; 38 39 // Shows the contents of the screen. 40 virtual void Show(const std::string& app_id) = 0; 41 42 // Hides the contents of the screen. 43 virtual void Hide() = 0; 44 45 // Set the current app launch state. 46 virtual void UpdateAppLaunchState(AppLaunchState state) = 0; 47 48 // Sets whether continue control is enabled. 49 virtual void ToggleNetworkConfig(bool visible) = 0; 50}; 51 52} // namespace chromeos 53 54#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_APP_LAUNCH_SPLASH_SCREEN_ACTOR_H_ 55