Index: chromeos/network/network_state_handler.h |
diff --git a/chromeos/network/network_state_handler.h b/chromeos/network/network_state_handler.h |
index 9ad3ac87e097547556e826c91478b83e83ae4c75..7f49c1813d73cff22cc89238864869c9839e7aa1 100644 |
--- a/chromeos/network/network_state_handler.h |
+++ b/chromeos/network/network_state_handler.h |
@@ -36,6 +36,7 @@ class DeviceState; |
class NetworkState; |
class NetworkStateHandlerObserver; |
class NetworkStateHandlerTest; |
+class NetworkTypePattern; |
// Class for tracking the list of visible networks and their properties. |
// |
@@ -48,11 +49,12 @@ class NetworkStateHandlerTest; |
// It will invoke its own more specific observer methods when the specified |
// changes occur. |
// |
-// Most *ByType or *ForType methods will accept any of the following for |
-// |type|. See individual methods for specific notes. |
+// Most *ByType or *ForType methods will accept any of the following for |type|. |
+// See individual methods for specific notes. |
// * Any type defined in service_constants.h (e.g. flimflam::kTypeWifi) |
// * kMatchTypeDefault returns the default (active) network |
// * kMatchTypeNonVirtual returns the primary non virtual network |
+// * kMatchTypeWired returns the primary wired network |
// * kMatchTypeWireless returns the primary wireless network |
// * kMatchTypeMobile returns the primary cellular or wimax network |
@@ -85,21 +87,21 @@ class CHROMEOS_EXPORT NetworkStateHandler |
// called any time a new service is configured or a Profile is loaded. |
void UpdateManagerProperties(); |
- // Returns the state for technology |type|. kMatchTypeMobile (only) is |
- // also supported. |
- TechnologyState GetTechnologyState(const std::string& type) const; |
- bool IsTechnologyAvailable(const std::string& type) const { |
+ // Returns the state for technology |type|. Only |
+ // NetworkTypePattern::Primitive, ::Mobile and ::Ethernet are supported. |
+ TechnologyState GetTechnologyState(const NetworkTypePattern& type) const; |
+ bool IsTechnologyAvailable(const NetworkTypePattern& type) const { |
return GetTechnologyState(type) != TECHNOLOGY_UNAVAILABLE; |
} |
- bool IsTechnologyEnabled(const std::string& type) const { |
+ bool IsTechnologyEnabled(const NetworkTypePattern& type) const { |
return GetTechnologyState(type) == TECHNOLOGY_ENABLED; |
} |
- // Asynchronously sets the technology enabled property for |type|. |
- // kMatchTypeMobile (only) is also supported. |
+ // Asynchronously sets the technology enabled property for |type|. Only |
+ // NetworkTypePattern::Primitive, ::Mobile and ::Ethernet are supported. |
// Note: Modifies Manager state. Calls |error_callback| on failure. |
void SetTechnologyEnabled( |
- const std::string& type, |
+ const NetworkTypePattern& type, |
bool enabled, |
const network_handler::ErrorCallback& error_callback); |
@@ -107,12 +109,10 @@ class CHROMEOS_EXPORT NetworkStateHandler |
const DeviceState* GetDeviceState(const std::string& device_path) const; |
// Finds and returns a device state by |type|. Returns NULL if not found. |
- // See note above for valid types. |
- const DeviceState* GetDeviceStateByType(const std::string& type) const; |
+ const DeviceState* GetDeviceStateByType(const NetworkTypePattern& type) const; |
// Returns true if any device of |type| is scanning. |
- // See note above for valid types. |
- bool GetScanningByType(const std::string& type) const; |
+ bool GetScanningByType(const NetworkTypePattern& type) const; |
// Finds and returns a network state by |service_path| or NULL if not found. |
// Note: NetworkState is frequently updated asynchronously, i.e. properties |
@@ -126,23 +126,24 @@ class CHROMEOS_EXPORT NetworkStateHandler |
const NetworkState* DefaultNetwork() const; |
// Returns the primary connected network of matching |type|, otherwise NULL. |
- // See note above for valid types. |
- const NetworkState* ConnectedNetworkByType(const std::string& type) const; |
+ const NetworkState* ConnectedNetworkByType( |
+ const NetworkTypePattern& type) const; |
// Like ConnectedNetworkByType() but returns a connecting network or NULL. |
- const NetworkState* ConnectingNetworkByType(const std::string& type) const; |
+ const NetworkState* ConnectingNetworkByType( |
+ const NetworkTypePattern& type) const; |
// Like ConnectedNetworkByType() but returns any matching network or NULL. |
// Mostly useful for mobile networks where there is generally only one |
// network. Note: O(N). |
- const NetworkState* FirstNetworkByType(const std::string& type) const; |
+ const NetworkState* FirstNetworkByType(const NetworkTypePattern& type) const; |
// Returns the hardware (MAC) address for the first connected network |
- // matching |type|, or an empty string if none. |
- // See note above for valid types. |
- std::string HardwareAddressForType(const std::string& type) const; |
+ // matching |type|, or an empty string if none is connected. |
+ std::string HardwareAddressForType(const NetworkTypePattern& type) const; |
// Same as above but in aa:bb format. |
- std::string FormattedHardwareAddressForType(const std::string& type) const; |
+ std::string FormattedHardwareAddressForType( |
+ const NetworkTypePattern& type) const; |
// Sets |list| to contain the list of networks. The returned list contains |
// a copy of NetworkState pointers which should not be stored or used beyond |
@@ -151,7 +152,7 @@ class CHROMEOS_EXPORT NetworkStateHandler |
void GetNetworkList(NetworkStateList* list) const; |
// Like GetNetworkList() but only returns networks with matching |type|. |
- void GetNetworkListByType(const std::string& type, |
+ void GetNetworkListByType(const NetworkTypePattern& type, |
NetworkStateList* list) const; |
// Sets |list| to contain the list of devices. The returned list contains |
@@ -175,7 +176,7 @@ class CHROMEOS_EXPORT NetworkStateHandler |
void RequestScan() const; |
// Request a scan if not scanning and run |callback| when the Scanning state |
- // for any Device matching |type| completes. |
+ // for any Device of network type |type| completes. |
void WaitForScan(const std::string& type, const base::Closure& callback); |
// Request a network scan then signal Shill to connect to the best available |
@@ -209,11 +210,6 @@ class CHROMEOS_EXPORT NetworkStateHandler |
// Construct and initialize an instance for testing. |
static NetworkStateHandler* InitializeForTest(); |
- static const char kMatchTypeDefault[]; |
- static const char kMatchTypeWireless[]; |
- static const char kMatchTypeMobile[]; |
- static const char kMatchTypeNonVirtual[]; |
- |
// Default set of comma separated interfaces on which to enable |
// portal checking. |
static const char kDefaultCheckPortalList[]; |
@@ -311,7 +307,7 @@ class CHROMEOS_EXPORT NetworkStateHandler |
void ScanCompleted(const std::string& type); |
// Returns the technology type for |type|. |
- std::string GetTechnologyForType(const std::string& type) const; |
+ std::string GetTechnologyForType(const NetworkTypePattern& type) const; |
// Shill property handler instance, owned by this class. |
scoped_ptr<internal::ShillPropertyHandler> shill_property_handler_; |