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