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

Side by Side Diff: chrome/browser/chromeos/cros/native_network_parser.cc

Issue 8734013: Resubmit CL. See 8429004. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/cros/native_network_parser.h" 5 #include "chrome/browser/chromeos/cros/native_network_parser.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 { flimflam::kOpenVPNClientCertIdProperty, 132 { flimflam::kOpenVPNClientCertIdProperty,
133 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID }, 133 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID },
134 { flimflam::kPaymentPortalProperty, PROPERTY_INDEX_OLP }, 134 { flimflam::kPaymentPortalProperty, PROPERTY_INDEX_OLP },
135 { flimflam::kWifiAuthMode, PROPERTY_INDEX_WIFI_AUTH_MODE }, 135 { flimflam::kWifiAuthMode, PROPERTY_INDEX_WIFI_AUTH_MODE },
136 { flimflam::kWifiFrequency, PROPERTY_INDEX_WIFI_FREQUENCY }, 136 { flimflam::kWifiFrequency, PROPERTY_INDEX_WIFI_FREQUENCY },
137 { flimflam::kWifiHexSsid, PROPERTY_INDEX_WIFI_HEX_SSID }, 137 { flimflam::kWifiHexSsid, PROPERTY_INDEX_WIFI_HEX_SSID },
138 { flimflam::kWifiHiddenSsid, PROPERTY_INDEX_WIFI_HIDDEN_SSID }, 138 { flimflam::kWifiHiddenSsid, PROPERTY_INDEX_WIFI_HIDDEN_SSID },
139 { flimflam::kWifiPhyMode, PROPERTY_INDEX_WIFI_PHY_MODE }, 139 { flimflam::kWifiPhyMode, PROPERTY_INDEX_WIFI_PHY_MODE },
140 }; 140 };
141 141
142 EnumMapper<ConnectionType>::Pair type_table[] = {
143 { flimflam::kTypeEthernet, TYPE_ETHERNET },
144 { flimflam::kTypeWifi, TYPE_WIFI },
145 { flimflam::kTypeWimax, TYPE_WIMAX },
146 { flimflam::kTypeBluetooth, TYPE_BLUETOOTH },
147 { flimflam::kTypeCellular, TYPE_CELLULAR },
148 { flimflam::kTypeVPN, TYPE_VPN },
149 };
150
151 EnumMapper<ConnectionSecurity>::Pair security_table[] = {
152 { flimflam::kSecurityNone, SECURITY_NONE },
153 { flimflam::kSecurityWep, SECURITY_WEP },
154 { flimflam::kSecurityWpa, SECURITY_WPA },
155 { flimflam::kSecurityRsn, SECURITY_RSN },
156 { flimflam::kSecurityPsk, SECURITY_PSK },
157 { flimflam::kSecurity8021x, SECURITY_8021X },
158 };
159
160 EnumMapper<EAPMethod>::Pair eap_method_table[] = {
161 { flimflam::kEapMethodPEAP, EAP_METHOD_PEAP },
162 { flimflam::kEapMethodTLS, EAP_METHOD_TLS },
163 { flimflam::kEapMethodTTLS, EAP_METHOD_TTLS },
164 { flimflam::kEapMethodLEAP, EAP_METHOD_LEAP },
165 };
166
167 EnumMapper<EAPPhase2Auth>::Pair eap_auth_table[] = {
168 { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 },
169 { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 },
170 { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 },
171 { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 },
172 { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP },
173 { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP },
174 { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP },
175 };
176
142 // Serve the singleton mapper instance. 177 // Serve the singleton mapper instance.
143 const EnumMapper<PropertyIndex>* get_native_mapper() { 178 const EnumMapper<PropertyIndex>* get_native_mapper() {
144 CR_DEFINE_STATIC_LOCAL(EnumMapper<PropertyIndex>, mapper, 179 CR_DEFINE_STATIC_LOCAL(EnumMapper<PropertyIndex>, mapper,
145 (property_index_table, 180 (property_index_table,
146 arraysize(property_index_table), 181 arraysize(property_index_table),
147 PROPERTY_INDEX_UNKNOWN)); 182 PROPERTY_INDEX_UNKNOWN));
148 return &mapper; 183 return &mapper;
149 } 184 }
150 185
151 ConnectionType ParseNetworkType(const std::string& type) {
152 static EnumMapper<ConnectionType>::Pair table[] = {
153 { flimflam::kTypeEthernet, TYPE_ETHERNET },
154 { flimflam::kTypeWifi, TYPE_WIFI },
155 { flimflam::kTypeWimax, TYPE_WIMAX },
156 { flimflam::kTypeBluetooth, TYPE_BLUETOOTH },
157 { flimflam::kTypeCellular, TYPE_CELLULAR },
158 { flimflam::kTypeVPN, TYPE_VPN },
159 };
160 CR_DEFINE_STATIC_LOCAL(EnumMapper<ConnectionType>, parser,
161 (table, arraysize(table), TYPE_UNKNOWN));
162 return parser.Get(type);
163 }
164
165 } // namespace 186 } // namespace
166 187
167 // -------------------- NativeNetworkDeviceParser -------------------- 188 // -------------------- NativeNetworkDeviceParser --------------------
168 189
169 NativeNetworkDeviceParser::NativeNetworkDeviceParser() 190 NativeNetworkDeviceParser::NativeNetworkDeviceParser()
170 : NetworkDeviceParser(get_native_mapper()) { 191 : NetworkDeviceParser(get_native_mapper()) {
171 } 192 }
172 193
173 NativeNetworkDeviceParser::~NativeNetworkDeviceParser() { 194 NativeNetworkDeviceParser::~NativeNetworkDeviceParser() {
174 } 195 }
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 } 405 }
385 break; 406 break;
386 } 407 }
387 default: 408 default:
388 break; 409 break;
389 } 410 }
390 return false; 411 return false;
391 } 412 }
392 413
393 ConnectionType NativeNetworkDeviceParser::ParseType(const std::string& type) { 414 ConnectionType NativeNetworkDeviceParser::ParseType(const std::string& type) {
394 return ParseNetworkType(type); 415 return NativeNetworkParser::type_mapper()->Get(type);
395 } 416 }
396 417
397 bool NativeNetworkDeviceParser::ParseApnList(const ListValue& list, 418 bool NativeNetworkDeviceParser::ParseApnList(const ListValue& list,
398 CellularApnList* apn_list) { 419 CellularApnList* apn_list) {
399 apn_list->clear(); 420 apn_list->clear();
400 apn_list->reserve(list.GetSize()); 421 apn_list->reserve(list.GetSize());
401 for (ListValue::const_iterator it = list.begin(); it != list.end(); ++it) { 422 for (ListValue::const_iterator it = list.begin(); it != list.end(); ++it) {
402 if ((*it)->IsType(base::Value::TYPE_DICTIONARY)) { 423 if ((*it)->IsType(base::Value::TYPE_DICTIONARY)) {
403 apn_list->resize(apn_list->size() + 1); 424 apn_list->resize(apn_list->size() + 1);
404 const DictionaryValue* dict = static_cast<const DictionaryValue*>(*it); 425 const DictionaryValue* dict = static_cast<const DictionaryValue*>(*it);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 } 519 }
499 520
500 NativeNetworkParser::~NativeNetworkParser() { 521 NativeNetworkParser::~NativeNetworkParser() {
501 } 522 }
502 523
503 // static 524 // static
504 const EnumMapper<PropertyIndex>* NativeNetworkParser::property_mapper() { 525 const EnumMapper<PropertyIndex>* NativeNetworkParser::property_mapper() {
505 return get_native_mapper(); 526 return get_native_mapper();
506 } 527 }
507 528
529 // static
530 const EnumMapper<ConnectionType>* NativeNetworkParser::type_mapper() {
531 CR_DEFINE_STATIC_LOCAL(EnumMapper<ConnectionType>, type_mapper,
532 (type_table, arraysize(type_table), TYPE_UNKNOWN));
533 return &type_mapper;
stevenjb 2011/11/30 17:36:20 nit: "type_mapper" and "type_table" sound like gen
Charlie Lee 2011/11/30 18:01:21 Done.
534 }
535
536 // static
537 const EnumMapper<ConnectionSecurity>* NativeNetworkParser::security_mapper() {
538 CR_DEFINE_STATIC_LOCAL(EnumMapper<ConnectionSecurity>, security_mapper,
539 (security_table, arraysize(security_table), SECURITY_UNKNOWN));
540 return &security_mapper;
541 }
542
543 // static
544 const EnumMapper<EAPMethod>* NativeNetworkParser::eap_method_mapper() {
545 CR_DEFINE_STATIC_LOCAL(EnumMapper<EAPMethod>, eap_method_mapper,
546 (eap_method_table, arraysize(eap_method_table), EAP_METHOD_UNKNOWN));
547 return &eap_method_mapper;
548 }
549
550 // static
551 const EnumMapper<EAPPhase2Auth>* NativeNetworkParser::eap_auth_mapper() {
552 CR_DEFINE_STATIC_LOCAL(EnumMapper<EAPPhase2Auth>, eap_auth_mapper,
553 (eap_auth_table, arraysize(eap_auth_table), EAP_PHASE_2_AUTH_AUTO));
554 return &eap_auth_mapper;
555 }
556
508 const ConnectionType NativeNetworkParser::ParseConnectionType( 557 const ConnectionType NativeNetworkParser::ParseConnectionType(
509 const std::string& connection_type) { 558 const std::string& connection_type) {
510 return ParseNetworkType(connection_type); 559 return type_mapper()->Get(connection_type);
511 } 560 }
512 561
513 Network* NativeNetworkParser::CreateNewNetwork( 562 Network* NativeNetworkParser::CreateNewNetwork(
514 ConnectionType type, const std::string& service_path) { 563 ConnectionType type, const std::string& service_path) {
515 Network* network = NetworkParser::CreateNewNetwork(type, service_path); 564 Network* network = NetworkParser::CreateNewNetwork(type, service_path);
516 if (network) { 565 if (network) {
517 if (type == TYPE_ETHERNET) 566 if (type == TYPE_ETHERNET)
518 network->SetNetworkParser(new NativeEthernetNetworkParser()); 567 network->SetNetworkParser(new NativeEthernetNetworkParser());
519 else if (type == TYPE_WIFI) 568 else if (type == TYPE_WIFI)
520 network->SetNetworkParser(new NativeWifiNetworkParser()); 569 network->SetNetworkParser(new NativeWifiNetworkParser());
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 return true; 654 return true;
606 } 655 }
607 default: 656 default:
608 return NetworkParser::ParseValue(index, value, network); 657 return NetworkParser::ParseValue(index, value, network);
609 break; 658 break;
610 } 659 }
611 return false; 660 return false;
612 } 661 }
613 662
614 ConnectionType NativeNetworkParser::ParseType(const std::string& type) { 663 ConnectionType NativeNetworkParser::ParseType(const std::string& type) {
615 return ParseNetworkType(type); 664 return type_mapper()->Get(type);
616 } 665 }
617 666
618 ConnectionType NativeNetworkParser::ParseTypeFromDictionary( 667 ConnectionType NativeNetworkParser::ParseTypeFromDictionary(
619 const DictionaryValue& info) { 668 const DictionaryValue& info) {
620 std::string type_string; 669 std::string type_string;
621 info.GetString(flimflam::kTypeProperty, &type_string); 670 info.GetString(flimflam::kTypeProperty, &type_string);
622 return ParseType(type_string); 671 return ParseType(type_string);
623 } 672 }
624 673
625 ConnectionMode NativeNetworkParser::ParseMode(const std::string& mode) { 674 ConnectionMode NativeNetworkParser::ParseMode(const std::string& mode) {
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
1027 // These properties are currently not used in the UI. 1076 // These properties are currently not used in the UI.
1028 return true; 1077 return true;
1029 default: 1078 default:
1030 return NativeWirelessNetworkParser::ParseValue(index, value, network); 1079 return NativeWirelessNetworkParser::ParseValue(index, value, network);
1031 } 1080 }
1032 return false; 1081 return false;
1033 } 1082 }
1034 1083
1035 ConnectionSecurity NativeWifiNetworkParser::ParseSecurity( 1084 ConnectionSecurity NativeWifiNetworkParser::ParseSecurity(
1036 const std::string& security) { 1085 const std::string& security) {
1037 static EnumMapper<ConnectionSecurity>::Pair table[] = { 1086 return security_mapper()->Get(security);
1038 { flimflam::kSecurityNone, SECURITY_NONE },
1039 { flimflam::kSecurityWep, SECURITY_WEP },
1040 { flimflam::kSecurityWpa, SECURITY_WPA },
1041 { flimflam::kSecurityRsn, SECURITY_RSN },
1042 { flimflam::kSecurityPsk, SECURITY_PSK },
1043 { flimflam::kSecurity8021x, SECURITY_8021X },
1044 };
1045 CR_DEFINE_STATIC_LOCAL(EnumMapper<ConnectionSecurity>, parser,
1046 (table, arraysize(table), SECURITY_UNKNOWN));
1047 return parser.Get(security);
1048 } 1087 }
1049 1088
1050 EAPMethod NativeWifiNetworkParser::ParseEAPMethod(const std::string& method) { 1089 EAPMethod NativeWifiNetworkParser::ParseEAPMethod(const std::string& method) {
1051 static EnumMapper<EAPMethod>::Pair table[] = { 1090 return eap_method_mapper()->Get(method);
1052 { flimflam::kEapMethodPEAP, EAP_METHOD_PEAP },
1053 { flimflam::kEapMethodTLS, EAP_METHOD_TLS },
1054 { flimflam::kEapMethodTTLS, EAP_METHOD_TTLS },
1055 { flimflam::kEapMethodLEAP, EAP_METHOD_LEAP },
1056 };
1057 CR_DEFINE_STATIC_LOCAL(EnumMapper<EAPMethod>, parser,
1058 (table, arraysize(table), EAP_METHOD_UNKNOWN));
1059 return parser.Get(method);
1060 } 1091 }
1061 1092
1062 EAPPhase2Auth NativeWifiNetworkParser::ParseEAPPhase2Auth( 1093 EAPPhase2Auth NativeWifiNetworkParser::ParseEAPPhase2Auth(
1063 const std::string& auth) { 1094 const std::string& auth) {
1064 static EnumMapper<EAPPhase2Auth>::Pair table[] = { 1095 return eap_auth_mapper()->Get(auth);
1065 { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 },
1066 { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 },
1067 { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 },
1068 { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 },
1069 { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP },
1070 { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP },
1071 { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP },
1072 };
1073 CR_DEFINE_STATIC_LOCAL(EnumMapper<EAPPhase2Auth>, parser,
1074 (table, arraysize(table), EAP_PHASE_2_AUTH_AUTO));
1075 return parser.Get(auth);
1076 } 1096 }
1077 1097
1078 // -------------------- NativeVirtualNetworkParser -------------------- 1098 // -------------------- NativeVirtualNetworkParser --------------------
1079 1099
1080 1100
1081 NativeVirtualNetworkParser::NativeVirtualNetworkParser() {} 1101 NativeVirtualNetworkParser::NativeVirtualNetworkParser() {}
1082 NativeVirtualNetworkParser::~NativeVirtualNetworkParser() {} 1102 NativeVirtualNetworkParser::~NativeVirtualNetworkParser() {}
1083 1103
1084 bool NativeVirtualNetworkParser::UpdateNetworkFromInfo( 1104 bool NativeVirtualNetworkParser::UpdateNetworkFromInfo(
1085 const DictionaryValue& info, 1105 const DictionaryValue& info,
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
1211 static EnumMapper<ProviderType>::Pair table[] = { 1231 static EnumMapper<ProviderType>::Pair table[] = {
1212 { flimflam::kProviderL2tpIpsec, PROVIDER_TYPE_L2TP_IPSEC_PSK }, 1232 { flimflam::kProviderL2tpIpsec, PROVIDER_TYPE_L2TP_IPSEC_PSK },
1213 { flimflam::kProviderOpenVpn, PROVIDER_TYPE_OPEN_VPN }, 1233 { flimflam::kProviderOpenVpn, PROVIDER_TYPE_OPEN_VPN },
1214 }; 1234 };
1215 CR_DEFINE_STATIC_LOCAL(EnumMapper<ProviderType>, parser, 1235 CR_DEFINE_STATIC_LOCAL(EnumMapper<ProviderType>, parser,
1216 (table, arraysize(table), PROVIDER_TYPE_MAX)); 1236 (table, arraysize(table), PROVIDER_TYPE_MAX));
1217 return parser.Get(type); 1237 return parser.Get(type);
1218 } 1238 }
1219 1239
1220 } // namespace chromeos 1240 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698