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 12 namespace gfx { 13 class Size; 14 } // namespace gfx 15 16 namespace chromeos { 17 18 class KeyboardSwitchMenu; 19 class LanguageSwitchMenu; 20 21 // Interface that NetworkScreen exposes to the NetworkSelectionView. 22 class 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: ~NetworkScreenDelegate()37 virtual ~NetworkScreenDelegate() {} 38 }; 39 40 } // namespace chromeos 41 42 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_NETWORK_SCREEN_DELEGATE_H_ 43