Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: chromeos/network/shill_property_util.cc

Issue 300623008: Move NetworkTypePattern to its own file (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/network/shill_property_util.h ('k') | chromeos/network/shill_property_util_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/network/shill_property_util.cc
diff --git a/chromeos/network/shill_property_util.cc b/chromeos/network/shill_property_util.cc
index f8e90b52657d6732561c62fdc4e89212d1b3b755..d5f8d6b12ade6c3a957eafc93aa491d53ac4a7a5 100644
--- a/chromeos/network/shill_property_util.cc
+++ b/chromeos/network/shill_property_util.cc
@@ -347,141 +347,4 @@ bool GetHomeProviderFromProperty(const base::Value& value,
} // namespace shill_property_util
-namespace {
-
-const char kPatternDefault[] = "PatternDefault";
-const char kPatternEthernet[] = "PatternEthernet";
-const char kPatternWireless[] = "PatternWireless";
-const char kPatternMobile[] = "PatternMobile";
-const char kPatternNonVirtual[] = "PatternNonVirtual";
-
-enum NetworkTypeBitFlag {
- kNetworkTypeNone = 0,
- kNetworkTypeEthernet = 1 << 0,
- kNetworkTypeWifi = 1 << 1,
- kNetworkTypeWimax = 1 << 2,
- kNetworkTypeCellular = 1 << 3,
- kNetworkTypeVPN = 1 << 4,
- kNetworkTypeEthernetEap = 1 << 5,
- kNetworkTypeBluetooth = 1 << 6
-};
-
-struct ShillToBitFlagEntry {
- const char* shill_network_type;
- NetworkTypeBitFlag bit_flag;
-} shill_type_to_flag[] = {
- { shill::kTypeEthernet, kNetworkTypeEthernet },
- { shill::kTypeEthernetEap, kNetworkTypeEthernetEap },
- { shill::kTypeWifi, kNetworkTypeWifi },
- { shill::kTypeWimax, kNetworkTypeWimax },
- { shill::kTypeCellular, kNetworkTypeCellular },
- { shill::kTypeVPN, kNetworkTypeVPN },
- { shill::kTypeBluetooth, kNetworkTypeBluetooth }
-};
-
-NetworkTypeBitFlag ShillNetworkTypeToFlag(const std::string& shill_type) {
- for (size_t i = 0; i < arraysize(shill_type_to_flag); ++i) {
- if (shill_type_to_flag[i].shill_network_type == shill_type)
- return shill_type_to_flag[i].bit_flag;
- }
- NET_LOG_ERROR("ShillNetworkTypeToFlag", "Unknown type: " + shill_type);
- return kNetworkTypeNone;
-}
-
-} // namespace
-
-// static
-NetworkTypePattern NetworkTypePattern::Default() {
- return NetworkTypePattern(~0);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::Wireless() {
- return NetworkTypePattern(kNetworkTypeWifi | kNetworkTypeWimax |
- kNetworkTypeCellular);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::Mobile() {
- return NetworkTypePattern(kNetworkTypeCellular | kNetworkTypeWimax);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::NonVirtual() {
- return NetworkTypePattern(~kNetworkTypeVPN);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::Ethernet() {
- return NetworkTypePattern(kNetworkTypeEthernet);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::WiFi() {
- return NetworkTypePattern(kNetworkTypeWifi);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::Cellular() {
- return NetworkTypePattern(kNetworkTypeCellular);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::VPN() {
- return NetworkTypePattern(kNetworkTypeVPN);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::Wimax() {
- return NetworkTypePattern(kNetworkTypeWimax);
-}
-
-// static
-NetworkTypePattern NetworkTypePattern::Primitive(
- const std::string& shill_network_type) {
- return NetworkTypePattern(ShillNetworkTypeToFlag(shill_network_type));
-}
-
-bool NetworkTypePattern::Equals(const NetworkTypePattern& other) const {
- return pattern_ == other.pattern_;
-}
-
-bool NetworkTypePattern::MatchesType(
- const std::string& shill_network_type) const {
- return MatchesPattern(Primitive(shill_network_type));
-}
-
-bool NetworkTypePattern::MatchesPattern(
- const NetworkTypePattern& other_pattern) const {
- if (Equals(other_pattern))
- return true;
-
- return pattern_ & other_pattern.pattern_;
-}
-
-std::string NetworkTypePattern::ToDebugString() const {
- if (Equals(Default()))
- return kPatternDefault;
- if (Equals(Ethernet()))
- return kPatternEthernet;
- if (Equals(Wireless()))
- return kPatternWireless;
- if (Equals(Mobile()))
- return kPatternMobile;
- if (Equals(NonVirtual()))
- return kPatternNonVirtual;
-
- std::string str;
- for (size_t i = 0; i < arraysize(shill_type_to_flag); ++i) {
- if (!(pattern_ & shill_type_to_flag[i].bit_flag))
- continue;
- if (!str.empty())
- str += "|";
- str += shill_type_to_flag[i].shill_network_type;
- }
- return str;
-}
-
-NetworkTypePattern::NetworkTypePattern(int pattern) : pattern_(pattern) {}
-
} // namespace chromeos
« no previous file with comments | « chromeos/network/shill_property_util.h ('k') | chromeos/network/shill_property_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698