network_screen_actor.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
1// Copyright (c) 2012 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_NETWORK_SCREEN_ACTOR_H_ 6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_NETWORK_SCREEN_ACTOR_H_ 7 8#include "base/strings/string16.h" 9 10namespace chromeos { 11 12// Interface for dependency injection between NetworkScreen and its actual 13// representation, either views based or WebUI. Owned by NetworkScreen. 14class NetworkScreenActor { 15 public: 16 class Delegate { 17 public: 18 virtual ~Delegate() {} 19 virtual void OnActorDestroyed(NetworkScreenActor* actor) = 0; 20 virtual void OnContinuePressed() = 0; 21 }; 22 23 virtual ~NetworkScreenActor() {} 24 25 // Sets screen this actor belongs to. 26 virtual void SetDelegate(Delegate* screen) = 0; 27 28 // Prepare the contents to showing. 29 virtual void PrepareToShow() = 0; 30 31 // Shows the contents of the screen. 32 virtual void Show() = 0; 33 34 // Hides the contents of the screen. 35 virtual void Hide() = 0; 36 37 // Shows error message in a bubble. 38 virtual void ShowError(const base::string16& message) = 0; 39 40 // Hides error messages showing no error state. 41 virtual void ClearErrors() = 0; 42 43 // Shows network connecting status or network selection otherwise. 44 virtual void ShowConnectingStatus( 45 bool connecting, 46 const base::string16& network_id) = 0; 47 48 // Sets whether continue control is enabled. 49 virtual void EnableContinue(bool enabled) = 0; 50}; 51 52} // namespace chromeos 53 54#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_NETWORK_SCREEN_ACTOR_H_ 55