1// Copyright (c) 2010 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_NETWORK_SCREEN_DELEGATE_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_NETWORK_SCREEN_DELEGATE_H_
7#pragma once
8
9#include "chrome/browser/chromeos/cros/network_library.h"
10#include "views/controls/button/button.h"
11
12namespace gfx {
13class Size;
14}  // namespace gfx
15
16namespace chromeos {
17
18class KeyboardSwitchMenu;
19class LanguageSwitchMenu;
20
21// Interface that NetworkScreen exposes to the NetworkSelectionView.
22class NetworkScreenDelegate : public views::ButtonListener,
23                              public NetworkLibrary::NetworkManagerObserver {
24 public:
25  // Cleares all error notifications.
26  virtual void ClearErrors() = 0;
27
28  // True is MessageBubble with error message is shown.
29  virtual bool is_error_shown() = 0;
30
31  virtual LanguageSwitchMenu* language_switch_menu() = 0;
32  virtual KeyboardSwitchMenu* keyboard_switch_menu() = 0;
33
34  virtual gfx::Size size() const = 0;
35
36 protected:
37  virtual ~NetworkScreenDelegate() {}
38};
39
40}  // namespace chromeos
41
42#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_NETWORK_SCREEN_DELEGATE_H_
43