summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/network_menu_button.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/network_menu_button.h')
-rw-r--r--chrome/browser/chromeos/network_menu_button.h78
1 files changed, 11 insertions, 67 deletions
diff --git a/chrome/browser/chromeos/network_menu_button.h b/chrome/browser/chromeos/network_menu_button.h
index 6b0a0ef..6f6fe38 100644
--- a/chrome/browser/chromeos/network_menu_button.h
+++ b/chrome/browser/chromeos/network_menu_button.h
@@ -6,38 +6,16 @@
#define CHROME_BROWSER_CHROMEOS_NETWORK_MENU_BUTTON_H_
#include <string>
-#include <vector>
#include "base/timer.h"
+#include "chrome/browser/chromeos/cros_network_library.h"
#include "chrome/browser/chromeos/password_dialog_view.h"
-#include "third_party/cros/chromeos_network.h"
-#include "third_party/skia/include/core/SkBitmap.h"
#include "views/controls/button/menu_button.h"
#include "views/controls/menu/menu_2.h"
#include "views/controls/menu/view_menu_delegate.h"
class Browser;
-
-struct WifiNetwork {
- WifiNetwork() : encrypted(false), strength(0) { }
- WifiNetwork(const std::string& ssid, bool encrypted,
- chromeos::EncryptionType encryption, int strength)
- : ssid(ssid),
- encrypted(encrypted),
- encryption(encryption),
- strength(strength) { }
-
- // WifiNetworks are sorted by ssids.
- bool operator< (const WifiNetwork& other) const {
- return ssid < other.ssid;
- }
-
- std::string ssid;
- bool encrypted;
- chromeos::EncryptionType encryption;
- int strength;
-};
-typedef std::vector<WifiNetwork> WifiNetworkVector;
+class SkBitmap;
// The network menu button in the status area.
// This class will handle getting the wifi networks and populating the menu.
@@ -46,10 +24,11 @@ typedef std::vector<WifiNetwork> WifiNetworkVector;
class NetworkMenuButton : public views::MenuButton,
public views::ViewMenuDelegate,
public views::Menu2Model,
- public PasswordDialogDelegate {
+ public PasswordDialogDelegate,
+ public CrosNetworkLibrary::Observer {
public:
- NetworkMenuButton(Browser* browser, bool cros_library_loaded);
- virtual ~NetworkMenuButton() {}
+ explicit NetworkMenuButton(Browser* browser);
+ virtual ~NetworkMenuButton();
// views::Menu2Model implementation.
virtual bool HasIcons() const { return false; }
@@ -74,28 +53,14 @@ class NetworkMenuButton : public views::MenuButton,
virtual bool OnPasswordDialogAccept(const std::string& ssid,
const string16& password);
+ // CrosNetworkLibrary::Observer implementation.
+ virtual void NetworkChanged(CrosNetworkLibrary* obj);
+
private:
// views::ViewMenuDelegate implementation.
virtual void RunMenu(views::View* source, const gfx::Point& pt,
gfx::NativeView hwnd);
- // Gets the WifiNetwork for the given ssid in the list of wifi networks.
- // Returns whether or not WifiNetwork was found.
- bool GetWifiNetwork(const WifiNetworkVector& networks,
- const std::string& ssid,
- WifiNetwork* network);
-
- // Helper method to add a wifi network to the model.
- void AddWifiNetwork(const std::string& ssid, bool encrypted,
- chromeos::EncryptionType encryption, int strength);
-
- // Refreshes the networks model using real data.
- void RefreshNetworks();
-
- // Connect to the specified wireless network with password.
- // Returns whether or not connection was successful.
- bool ConnectToWifiNetwork(const std::string& ssid, const string16& password);
-
// Start animating the icon to show that we are connecting to a network.
void StartConnectingAnimation();
@@ -105,38 +70,17 @@ class NetworkMenuButton : public views::MenuButton,
// Update the icon to either the connecting, connected, or disconnected icon.
void UpdateIcon();
- // Whether or not the cros shared library loaded successfully or not.
- bool cros_library_loaded_;
-
// Set to true if we are currently refreshing the menu.
bool refreshing_menu_;
// The number of wifi strength images.
static const int kNumWifiImages;
- // Wifi strength images.
- static SkBitmap* wifi_images_[];
-
- // Wired image.
- static SkBitmap* wired_image_;
-
- // Disconnected image.
- static SkBitmap* disconnected_image_;
-
- // Whether or not ethernet is connected.
- bool ethernet_connected_;
-
- // The currently connected wifi network ssid.
- std::string current_ssid_;
-
- // The wifi netowrk ssid we are attempting to connect to.
- std::string connecting_ssid_;
-
// A list of wifi networks.
WifiNetworkVector wifi_networks_;
- // A list of wifi networks that we are currently showing in the menu.
- WifiNetworkVector wifi_networks_in_menu_;
+ // The activated wifi network.
+ WifiNetwork activated_wifi_network_;
// The network menu.
views::Menu2 network_menu_;