Index: chrome/browser/chromeos/status/network_menu_button.h |
=================================================================== |
--- chrome/browser/chromeos/status/network_menu_button.h (revision 64886) |
+++ chrome/browser/chromeos/status/network_menu_button.h (working copy) |
@@ -46,7 +46,9 @@ |
// The label will be BOLD if the network is currently connected. |
class NetworkMenuButton : public StatusAreaButton, |
public NetworkMenu, |
- public NetworkLibrary::Observer { |
+ public NetworkLibrary::NetworkManagerObserver, |
+ public NetworkLibrary::NetworkObserver, |
+ public NetworkLibrary::CellularDataPlanObserver { |
public: |
explicit NetworkMenuButton(StatusAreaHost* host); |
virtual ~NetworkMenuButton(); |
@@ -54,9 +56,12 @@ |
// AnimationDelegate implementation. |
virtual void AnimationProgressed(const Animation* animation); |
- // NetworkLibrary::Observer implementation. |
- virtual void NetworkChanged(NetworkLibrary* obj); |
- virtual void CellularDataPlanChanged(NetworkLibrary* obj); |
+ // NetworkLibrary::NetworkManagerObserver implementation. |
+ virtual void OnNetworkManagerChanged(NetworkLibrary* cros); |
+ // NetworkLibrary::NetworkObserver implementation. |
+ virtual void OnNetworkChanged(NetworkLibrary* cros, const Network* network); |
+ // NetworkLibrary::CellularDataPlanObserver implementation. |
+ virtual void OnCellularDataPlanChanged(NetworkLibrary* cros); |
// Sets the badge icon. |
void SetBadge(const SkBitmap& badge) { badge_ = badge; } |
@@ -73,6 +78,9 @@ |
virtual bool ShouldOpenButtonOptions() const; |
private: |
+ void SetNetworkIcon(const Network* network); |
+ void SetNetworkBadge(NetworkLibrary* cros, const Network* network); |
+ |
// The status area host, |
StatusAreaHost* host_; |
@@ -85,6 +93,10 @@ |
// The duration of the icon throbbing in milliseconds. |
static const int kThrobDuration; |
+ // If any network is currently active, this is the service path of the one |
+ // whose status is displayed in the network menu button. |
+ std::string active_network_; |
+ |
DISALLOW_COPY_AND_ASSIGN(NetworkMenuButton); |
}; |