| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chromeos/network/onc/onc_translation_tables.h" | 5 #include "chromeos/network/onc/onc_translation_tables.h" |
| 6 | 6 |
| 7 #include <cstddef> | 7 #include <cstddef> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "components/onc/onc_constants.h" | 10 #include "components/onc/onc_constants.h" |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 { ::onc::ipconfig::kGateway, shill::kGatewayProperty}, | 200 { ::onc::ipconfig::kGateway, shill::kGatewayProperty}, |
| 201 { ::onc::ipconfig::kRoutingPrefix, shill::kPrefixlenProperty}, | 201 { ::onc::ipconfig::kRoutingPrefix, shill::kPrefixlenProperty}, |
| 202 { ::onc::ipconfig::kNameServers, shill::kNameServersProperty}, | 202 { ::onc::ipconfig::kNameServers, shill::kNameServersProperty}, |
| 203 // This field is converted during translation, see ShillToONCTranslator:: | 203 // This field is converted during translation, see ShillToONCTranslator:: |
| 204 // TranslateIPConfig. It is only converted from Shill->ONC. | 204 // TranslateIPConfig. It is only converted from Shill->ONC. |
| 205 // { ::onc::ipconfig::kType, shill::kMethodProperty}, | 205 // { ::onc::ipconfig::kType, shill::kMethodProperty}, |
| 206 { ::onc::ipconfig::kWebProxyAutoDiscoveryUrl, | 206 { ::onc::ipconfig::kWebProxyAutoDiscoveryUrl, |
| 207 shill::kWebProxyAutoDiscoveryUrlProperty}, | 207 shill::kWebProxyAutoDiscoveryUrlProperty}, |
| 208 {NULL}}; | 208 {NULL}}; |
| 209 | 209 |
| 210 const FieldTranslationEntry static_or_saved_ipconfig_fields[] = { | 210 const FieldTranslationEntry saved_ipconfig_fields[] = { |
| 211 { ::onc::ipconfig::kIPAddress, shill::kAddressProperty}, | 211 { ::onc::ipconfig::kIPAddress, shill::kSavedIPAddressProperty}, |
| 212 { ::onc::ipconfig::kGateway, shill::kGatewayProperty}, | 212 { ::onc::ipconfig::kGateway, shill::kSavedIPGatewayProperty}, |
| 213 { ::onc::ipconfig::kRoutingPrefix, shill::kPrefixlenProperty}, | 213 { ::onc::ipconfig::kRoutingPrefix, shill::kSavedIPPrefixlenProperty}, |
| 214 { ::onc::ipconfig::kNameServers, shill::kNameServersProperty}, | 214 // NameServers are converted during translation, see onc_translator_*. |
| 215 // { ::onc::ipconfig::kNameServers, shill::kSavedIPNameServersProperty}, |
| 216 {NULL}}; |
| 217 |
| 218 const FieldTranslationEntry static_ipconfig_fields[] = { |
| 219 { ::onc::ipconfig::kIPAddress, shill::kStaticIPAddressProperty}, |
| 220 { ::onc::ipconfig::kGateway, shill::kStaticIPGatewayProperty}, |
| 221 { ::onc::ipconfig::kRoutingPrefix, shill::kStaticIPPrefixlenProperty}, |
| 222 // NameServers are converted during translation, see onc_translator_*. |
| 223 // { ::onc::ipconfig::kNameServers, shill::kStaticIPNameServersProperty}, |
| 215 {NULL}}; | 224 {NULL}}; |
| 216 | 225 |
| 217 struct OncValueTranslationEntry { | 226 struct OncValueTranslationEntry { |
| 218 const OncValueSignature* onc_signature; | 227 const OncValueSignature* onc_signature; |
| 219 const FieldTranslationEntry* field_translation_table; | 228 const FieldTranslationEntry* field_translation_table; |
| 220 }; | 229 }; |
| 221 | 230 |
| 222 const OncValueTranslationEntry onc_value_translation_table[] = { | 231 const OncValueTranslationEntry onc_value_translation_table[] = { |
| 223 { &kEAPSignature, eap_fields }, | 232 { &kEAPSignature, eap_fields }, |
| 224 { &kIPsecSignature, ipsec_fields }, | 233 { &kIPsecSignature, ipsec_fields }, |
| 225 { &kL2TPSignature, l2tp_fields }, | 234 { &kL2TPSignature, l2tp_fields }, |
| 226 { &kXAUTHSignature, xauth_fields }, | 235 { &kXAUTHSignature, xauth_fields }, |
| 227 { &kOpenVPNSignature, openvpn_fields }, | 236 { &kOpenVPNSignature, openvpn_fields }, |
| 228 { &kVerifyX509Signature, verify_x509_fields }, | 237 { &kVerifyX509Signature, verify_x509_fields }, |
| 229 { &kVPNSignature, vpn_fields }, | 238 { &kVPNSignature, vpn_fields }, |
| 230 { &kWiFiSignature, wifi_fields }, | 239 { &kWiFiSignature, wifi_fields }, |
| 231 { &kWiFiWithStateSignature, wifi_fields }, | 240 { &kWiFiWithStateSignature, wifi_fields }, |
| 232 { &kWiMAXSignature, wimax_fields }, | 241 { &kWiMAXSignature, wimax_fields }, |
| 233 { &kWiMAXWithStateSignature, wimax_fields }, | 242 { &kWiMAXWithStateSignature, wimax_fields }, |
| 234 { &kCellularApnSignature, cellular_apn_fields }, | 243 { &kCellularApnSignature, cellular_apn_fields }, |
| 235 { &kCellularFoundNetworkSignature, cellular_found_network_fields }, | 244 { &kCellularFoundNetworkSignature, cellular_found_network_fields }, |
| 236 { &kCellularProviderSignature, cellular_provider_fields }, | 245 { &kCellularProviderSignature, cellular_provider_fields }, |
| 237 { &kSIMLockStatusSignature, sim_lock_status_fields }, | 246 { &kSIMLockStatusSignature, sim_lock_status_fields }, |
| 238 { &kCellularSignature, cellular_fields }, | 247 { &kCellularSignature, cellular_fields }, |
| 239 { &kCellularWithStateSignature, cellular_fields }, | 248 { &kCellularWithStateSignature, cellular_fields }, |
| 240 { &kNetworkWithStateSignature, network_fields }, | 249 { &kNetworkWithStateSignature, network_fields }, |
| 241 { &kNetworkConfigurationSignature, network_fields }, | 250 { &kNetworkConfigurationSignature, network_fields }, |
| 242 { &kIPConfigSignature, ipconfig_fields }, | 251 { &kIPConfigSignature, ipconfig_fields }, |
| 243 { &kSavedIPConfigSignature, static_or_saved_ipconfig_fields }, | 252 { &kSavedIPConfigSignature, saved_ipconfig_fields }, |
| 244 { &kStaticIPConfigSignature, static_or_saved_ipconfig_fields }, | 253 { &kStaticIPConfigSignature, static_ipconfig_fields }, |
| 245 { NULL } | 254 { NULL } |
| 246 }; | 255 }; |
| 247 | 256 |
| 248 struct NestedShillDictionaryEntry { | 257 struct NestedShillDictionaryEntry { |
| 249 const OncValueSignature* onc_signature; | 258 const OncValueSignature* onc_signature; |
| 250 // NULL terminated list of Shill property keys. | 259 // NULL terminated list of Shill property keys. |
| 251 const char* const* shill_property_path; | 260 const char* const* shill_property_path; |
| 252 }; | 261 }; |
| 253 | 262 |
| 254 const char* cellular_apn_path_entries[] = { | 263 const char* cellular_apn_property_path_entries[] = { |
| 255 shill::kCellularApnProperty, | 264 shill::kCellularApnProperty, |
| 256 NULL | 265 NULL |
| 257 }; | 266 }; |
| 258 | 267 |
| 259 const char* static_ip_config_path_entries[] = { | |
| 260 shill::kStaticIPConfigProperty, | |
| 261 NULL | |
| 262 }; | |
| 263 | |
| 264 const NestedShillDictionaryEntry nested_shill_dictionaries[] = { | 268 const NestedShillDictionaryEntry nested_shill_dictionaries[] = { |
| 265 { &kCellularApnSignature, cellular_apn_path_entries }, | 269 { &kCellularApnSignature, cellular_apn_property_path_entries }, |
| 266 { &kStaticIPConfigSignature, static_ip_config_path_entries }, | |
| 267 { NULL } | 270 { NULL } |
| 268 }; | 271 }; |
| 269 | 272 |
| 270 } // namespace | 273 } // namespace |
| 271 | 274 |
| 272 const StringTranslationEntry kNetworkTypeTable[] = { | 275 const StringTranslationEntry kNetworkTypeTable[] = { |
| 273 // This mapping is ensured in the translation code. | 276 // This mapping is ensured in the translation code. |
| 274 // { network_type::kEthernet, shill::kTypeEthernet }, | 277 // { network_type::kEthernet, shill::kTypeEthernet }, |
| 275 // { network_type::kEthernet, shill::kTypeEthernetEap }, | 278 // { network_type::kEthernet, shill::kTypeEthernetEap }, |
| 276 { ::onc::network_type::kWiFi, shill::kTypeWifi}, | 279 { ::onc::network_type::kWiFi, shill::kTypeWifi}, |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 continue; | 420 continue; |
| 418 *onc_value = table[i].onc_value; | 421 *onc_value = table[i].onc_value; |
| 419 return true; | 422 return true; |
| 420 } | 423 } |
| 421 LOG(ERROR) << "Value '" << shill_value << "' cannot be translated to ONC"; | 424 LOG(ERROR) << "Value '" << shill_value << "' cannot be translated to ONC"; |
| 422 return false; | 425 return false; |
| 423 } | 426 } |
| 424 | 427 |
| 425 } // namespace onc | 428 } // namespace onc |
| 426 } // namespace chromeos | 429 } // namespace chromeos |
| OLD | NEW |