| Index: chromeos/network/shill_property_util.h
|
| diff --git a/chromeos/network/shill_property_util.h b/chromeos/network/shill_property_util.h
|
| index 13d16a86f93f93eb8223cf03f43198ce8df8fa01..cf16efbf8a8a778a4a4db2a5f9770d88504df0c9 100644
|
| --- a/chromeos/network/shill_property_util.h
|
| +++ b/chromeos/network/shill_property_util.h
|
| @@ -8,6 +8,7 @@
|
| #include <string>
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "chromeos/chromeos_export.h"
|
|
|
| namespace base {
|
| class DictionaryValue;
|
| @@ -49,6 +50,53 @@ bool CopyIdentifyingProperties(const base::DictionaryValue& service_properties,
|
|
|
| } // namespace shill_property_util
|
|
|
| +class CHROMEOS_EXPORT NetworkTypePattern {
|
| + public:
|
| + // Matches any network.
|
| + static NetworkTypePattern Default();
|
| +
|
| + // Matches wireless networks
|
| + static NetworkTypePattern Wireless();
|
| +
|
| + // Matches cellular or wimax networks.
|
| + static NetworkTypePattern Mobile();
|
| +
|
| + // Matches non virtual networks.
|
| + static NetworkTypePattern NonVirtual();
|
| +
|
| + // Matches ethernet networks (with or without EAP).
|
| + static NetworkTypePattern Ethernet();
|
| +
|
| + static NetworkTypePattern WiFi();
|
| + static NetworkTypePattern Cellular();
|
| + static NetworkTypePattern VPN();
|
| + static NetworkTypePattern Wimax();
|
| +
|
| + // Matches only networks of exactly the type |shill_network_type|, which must
|
| + // be one of the types defined in service_constants.h (e.g.
|
| + // flimflam::kTypeWifi).
|
| + // Note: Shill distinguishes Ethernet without EAP from Ethernet with EAP. If
|
| + // unsure, better use one of the matchers above.
|
| + static NetworkTypePattern Primitive(const std::string& shill_network_type);
|
| +
|
| + bool Equals(const NetworkTypePattern& other) const;
|
| + bool Matches(const std::string& shill_network_type) const;
|
| +
|
| + // Returns true if this pattern matches every network type that |subpattern|
|
| + // matches.
|
| + bool ContainsPattern(const NetworkTypePattern& subpattern) const;
|
| +
|
| + std::string ToDebugString() const;
|
| +
|
| + private:
|
| + explicit NetworkTypePattern(int pattern);
|
| +
|
| + // The bit array of the matching network types.
|
| + int pattern_;
|
| +
|
| + DISALLOW_ASSIGN(NetworkTypePattern);
|
| +};
|
| +
|
| } // namespace chromeos
|
|
|
| #endif // CHROMEOS_NETWORK_SHILL_PROPERTY_UTIL_H_
|
|
|