Index: chrome/browser/chromeos/cros/native_network_parser.cc |
=================================================================== |
--- chrome/browser/chromeos/cros/native_network_parser.cc (revision 112004) |
+++ chrome/browser/chromeos/cros/native_network_parser.cc (working copy) |
@@ -112,6 +112,7 @@ |
{ flimflam::kProxyConfigProperty, PROPERTY_INDEX_PROXY_CONFIG }, |
{ flimflam::kRoamingStateProperty, PROPERTY_INDEX_ROAMING_STATE }, |
{ flimflam::kSIMLockStatusProperty, PROPERTY_INDEX_SIM_LOCK }, |
+ { flimflam::kSSIDProperty, PROPERTY_INDEX_SSID }, |
{ flimflam::kSaveCredentialsProperty, PROPERTY_INDEX_SAVE_CREDENTIALS }, |
{ flimflam::kScanningProperty, PROPERTY_INDEX_SCANNING }, |
{ flimflam::kSecurityProperty, PROPERTY_INDEX_SECURITY }, |
@@ -139,6 +140,41 @@ |
{ flimflam::kWifiPhyMode, PROPERTY_INDEX_WIFI_PHY_MODE }, |
}; |
+EnumMapper<ConnectionType>::Pair network_type_table[] = { |
+ { flimflam::kTypeEthernet, TYPE_ETHERNET }, |
+ { flimflam::kTypeWifi, TYPE_WIFI }, |
+ { flimflam::kTypeWimax, TYPE_WIMAX }, |
+ { flimflam::kTypeBluetooth, TYPE_BLUETOOTH }, |
+ { flimflam::kTypeCellular, TYPE_CELLULAR }, |
+ { flimflam::kTypeVPN, TYPE_VPN }, |
+}; |
+ |
+EnumMapper<ConnectionSecurity>::Pair network_security_table[] = { |
+ { flimflam::kSecurityNone, SECURITY_NONE }, |
+ { flimflam::kSecurityWep, SECURITY_WEP }, |
+ { flimflam::kSecurityWpa, SECURITY_WPA }, |
+ { flimflam::kSecurityRsn, SECURITY_RSN }, |
+ { flimflam::kSecurityPsk, SECURITY_PSK }, |
+ { flimflam::kSecurity8021x, SECURITY_8021X }, |
+}; |
+ |
+EnumMapper<EAPMethod>::Pair network_eap_method_table[] = { |
+ { flimflam::kEapMethodPEAP, EAP_METHOD_PEAP }, |
+ { flimflam::kEapMethodTLS, EAP_METHOD_TLS }, |
+ { flimflam::kEapMethodTTLS, EAP_METHOD_TTLS }, |
+ { flimflam::kEapMethodLEAP, EAP_METHOD_LEAP }, |
+}; |
+ |
+EnumMapper<EAPPhase2Auth>::Pair network_eap_auth_table[] = { |
+ { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 }, |
+ { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, |
+ { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 }, |
+ { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, |
+ { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP }, |
+ { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP }, |
+ { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP }, |
+}; |
+ |
// Serve the singleton mapper instance. |
const EnumMapper<PropertyIndex>* get_native_mapper() { |
CR_DEFINE_STATIC_LOCAL(EnumMapper<PropertyIndex>, mapper, |
@@ -148,20 +184,6 @@ |
return &mapper; |
} |
-ConnectionType ParseNetworkType(const std::string& type) { |
- static EnumMapper<ConnectionType>::Pair table[] = { |
- { flimflam::kTypeEthernet, TYPE_ETHERNET }, |
- { flimflam::kTypeWifi, TYPE_WIFI }, |
- { flimflam::kTypeWimax, TYPE_WIMAX }, |
- { flimflam::kTypeBluetooth, TYPE_BLUETOOTH }, |
- { flimflam::kTypeCellular, TYPE_CELLULAR }, |
- { flimflam::kTypeVPN, TYPE_VPN }, |
- }; |
- CR_DEFINE_STATIC_LOCAL(EnumMapper<ConnectionType>, parser, |
- (table, arraysize(table), TYPE_UNKNOWN)); |
- return parser.Get(type); |
-} |
- |
} // namespace |
// -------------------- NativeNetworkDeviceParser -------------------- |
@@ -391,7 +413,7 @@ |
} |
ConnectionType NativeNetworkDeviceParser::ParseType(const std::string& type) { |
- return ParseNetworkType(type); |
+ return NativeNetworkParser::network_type_mapper()->Get(type); |
} |
bool NativeNetworkDeviceParser::ParseApnList(const ListValue& list, |
@@ -505,9 +527,50 @@ |
return get_native_mapper(); |
} |
+// static |
+const EnumMapper<ConnectionType>* NativeNetworkParser::network_type_mapper() { |
+ CR_DEFINE_STATIC_LOCAL( |
+ EnumMapper<ConnectionType>, |
+ network_type_mapper, |
+ (network_type_table, arraysize(network_type_table), TYPE_UNKNOWN)); |
+ return &network_type_mapper; |
+} |
+ |
+// static |
+const EnumMapper<ConnectionSecurity>* |
+ NativeNetworkParser::network_security_mapper() { |
+ CR_DEFINE_STATIC_LOCAL( |
+ EnumMapper<ConnectionSecurity>, |
+ network_security_mapper, |
+ (network_security_table, arraysize(network_security_table), |
+ SECURITY_UNKNOWN)); |
+ return &network_security_mapper; |
+} |
+ |
+// static |
+const EnumMapper<EAPMethod>* NativeNetworkParser::network_eap_method_mapper() { |
+ CR_DEFINE_STATIC_LOCAL( |
+ EnumMapper<EAPMethod>, |
+ network_eap_method_mapper, |
+ (network_eap_method_table, arraysize(network_eap_method_table), |
+ EAP_METHOD_UNKNOWN)); |
+ return &network_eap_method_mapper; |
+} |
+ |
+// static |
+const EnumMapper<EAPPhase2Auth>* |
+ NativeNetworkParser::network_eap_auth_mapper() { |
+ CR_DEFINE_STATIC_LOCAL( |
+ EnumMapper<EAPPhase2Auth>, |
+ network_eap_auth_mapper, |
+ (network_eap_auth_table, arraysize(network_eap_auth_table), |
+ EAP_PHASE_2_AUTH_AUTO)); |
+ return &network_eap_auth_mapper; |
+} |
+ |
const ConnectionType NativeNetworkParser::ParseConnectionType( |
const std::string& connection_type) { |
- return ParseNetworkType(connection_type); |
+ return network_type_mapper()->Get(connection_type); |
} |
Network* NativeNetworkParser::CreateNewNetwork( |
@@ -612,7 +675,7 @@ |
} |
ConnectionType NativeNetworkParser::ParseType(const std::string& type) { |
- return ParseNetworkType(type); |
+ return network_type_mapper()->Get(type); |
} |
ConnectionType NativeNetworkParser::ParseTypeFromDictionary( |
@@ -1034,45 +1097,16 @@ |
ConnectionSecurity NativeWifiNetworkParser::ParseSecurity( |
const std::string& security) { |
- static EnumMapper<ConnectionSecurity>::Pair table[] = { |
- { flimflam::kSecurityNone, SECURITY_NONE }, |
- { flimflam::kSecurityWep, SECURITY_WEP }, |
- { flimflam::kSecurityWpa, SECURITY_WPA }, |
- { flimflam::kSecurityRsn, SECURITY_RSN }, |
- { flimflam::kSecurityPsk, SECURITY_PSK }, |
- { flimflam::kSecurity8021x, SECURITY_8021X }, |
- }; |
- CR_DEFINE_STATIC_LOCAL(EnumMapper<ConnectionSecurity>, parser, |
- (table, arraysize(table), SECURITY_UNKNOWN)); |
- return parser.Get(security); |
+ return network_security_mapper()->Get(security); |
} |
EAPMethod NativeWifiNetworkParser::ParseEAPMethod(const std::string& method) { |
- static EnumMapper<EAPMethod>::Pair table[] = { |
- { flimflam::kEapMethodPEAP, EAP_METHOD_PEAP }, |
- { flimflam::kEapMethodTLS, EAP_METHOD_TLS }, |
- { flimflam::kEapMethodTTLS, EAP_METHOD_TTLS }, |
- { flimflam::kEapMethodLEAP, EAP_METHOD_LEAP }, |
- }; |
- CR_DEFINE_STATIC_LOCAL(EnumMapper<EAPMethod>, parser, |
- (table, arraysize(table), EAP_METHOD_UNKNOWN)); |
- return parser.Get(method); |
+ return network_eap_method_mapper()->Get(method); |
} |
EAPPhase2Auth NativeWifiNetworkParser::ParseEAPPhase2Auth( |
const std::string& auth) { |
- static EnumMapper<EAPPhase2Auth>::Pair table[] = { |
- { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 }, |
- { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, |
- { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 }, |
- { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, |
- { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP }, |
- { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP }, |
- { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP }, |
- }; |
- CR_DEFINE_STATIC_LOCAL(EnumMapper<EAPPhase2Auth>, parser, |
- (table, arraysize(table), EAP_PHASE_2_AUTH_AUTO)); |
- return parser.Get(auth); |
+ return network_eap_auth_mapper()->Get(auth); |
} |
// -------------------- NativeVirtualNetworkParser -------------------- |