Chromium Code Reviews| 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_signature.h" | 5 #include "chromeos/network/onc/onc_signature.h" |
| 6 | 6 |
| 7 #include "components/onc/onc_constants.h" | 7 #include "components/onc/onc_constants.h" |
| 8 #include "third_party/cros_system_api/dbus/service_constants.h" | 8 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 9 | 9 |
| 10 using base::Value; | 10 using base::Value; |
| 11 | 11 |
| 12 namespace chromeos { | 12 namespace chromeos { |
| 13 namespace onc { | 13 namespace onc { |
| 14 namespace { | 14 namespace { |
| 15 | 15 |
| 16 const OncValueSignature kBoolSignature = { | 16 const OncValueSignature kBoolSignature = { |
| 17 base::Value::TYPE_BOOLEAN, NULL | 17 base::Value::TYPE_BOOLEAN, NULL |
| 18 }; | 18 }; |
| 19 const OncValueSignature kStringSignature = { | 19 const OncValueSignature kStringSignature = { |
| 20 base::Value::TYPE_STRING, NULL | 20 base::Value::TYPE_STRING, NULL |
| 21 }; | 21 }; |
| 22 const OncValueSignature kIntegerSignature = { | 22 const OncValueSignature kIntegerSignature = { |
| 23 base::Value::TYPE_INTEGER, NULL | 23 base::Value::TYPE_INTEGER, NULL |
| 24 }; | 24 }; |
| 25 const OncValueSignature kDoubleSignature = { | |
| 26 base::Value::TYPE_DOUBLE, NULL | |
| 27 }; | |
| 25 const OncValueSignature kStringListSignature = { | 28 const OncValueSignature kStringListSignature = { |
| 26 base::Value::TYPE_LIST, NULL, &kStringSignature | 29 base::Value::TYPE_LIST, NULL, &kStringSignature |
| 27 }; | 30 }; |
| 28 const OncValueSignature kIntegerListSignature = { | 31 const OncValueSignature kIntegerListSignature = { |
| 29 base::Value::TYPE_LIST, NULL, &kIntegerSignature | 32 base::Value::TYPE_LIST, NULL, &kIntegerSignature |
| 30 }; | 33 }; |
| 31 const OncValueSignature kIPConfigListSignature = { | 34 const OncValueSignature kIPConfigListSignature = { |
| 32 base::Value::TYPE_LIST, NULL, &kIPConfigSignature | 35 base::Value::TYPE_LIST, NULL, &kIPConfigSignature |
| 33 }; | 36 }; |
| 34 const OncValueSignature kCellularApnListSignature = { | 37 const OncValueSignature kCellularApnListSignature = { |
| 35 base::Value::TYPE_LIST, NULL, &kCellularApnSignature | 38 base::Value::TYPE_LIST, NULL, &kCellularApnSignature |
| 36 }; | 39 }; |
| 40 const OncValueSignature kCellularFoundNetworkListSignature = { | |
| 41 base::Value::TYPE_LIST, NULL, &kCellularFoundNetworkSignature | |
| 42 }; | |
| 37 | 43 |
| 38 const OncFieldSignature issuer_subject_pattern_fields[] = { | 44 const OncFieldSignature issuer_subject_pattern_fields[] = { |
| 39 { ::onc::client_cert::kCommonName, &kStringSignature}, | 45 { ::onc::client_cert::kCommonName, &kStringSignature}, |
| 40 { ::onc::client_cert::kLocality, &kStringSignature}, | 46 { ::onc::client_cert::kLocality, &kStringSignature}, |
| 41 { ::onc::client_cert::kOrganization, &kStringSignature}, | 47 { ::onc::client_cert::kOrganization, &kStringSignature}, |
| 42 { ::onc::client_cert::kOrganizationalUnit, &kStringSignature}, | 48 { ::onc::client_cert::kOrganizationalUnit, &kStringSignature}, |
| 43 {NULL}}; | 49 {NULL}}; |
| 44 | 50 |
| 45 const OncFieldSignature certificate_pattern_fields[] = { | 51 const OncFieldSignature certificate_pattern_fields[] = { |
| 46 { ::onc::kRecommended, &kRecommendedSignature}, | 52 { ::onc::kRecommended, &kRecommendedSignature}, |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 210 { ::onc::wifi::kSignalStrength, &kIntegerSignature}, | 216 { ::onc::wifi::kSignalStrength, &kIntegerSignature}, |
| 211 {NULL}}; | 217 {NULL}}; |
| 212 | 218 |
| 213 const OncFieldSignature cellular_provider_fields[] = { | 219 const OncFieldSignature cellular_provider_fields[] = { |
| 214 { ::onc::cellular_provider::kCode, &kStringSignature}, | 220 { ::onc::cellular_provider::kCode, &kStringSignature}, |
| 215 { ::onc::cellular_provider::kCountry, &kStringSignature}, | 221 { ::onc::cellular_provider::kCountry, &kStringSignature}, |
| 216 { ::onc::cellular_provider::kName, &kStringSignature}, | 222 { ::onc::cellular_provider::kName, &kStringSignature}, |
| 217 {NULL}}; | 223 {NULL}}; |
| 218 | 224 |
| 219 const OncFieldSignature cellular_apn_fields[] = { | 225 const OncFieldSignature cellular_apn_fields[] = { |
| 226 { ::onc::cellular_apn::kApn, &kStringSignature}, | |
| 220 { ::onc::cellular_apn::kName, &kStringSignature}, | 227 { ::onc::cellular_apn::kName, &kStringSignature}, |
| 221 { ::onc::cellular_apn::kUsername, &kStringSignature}, | 228 { ::onc::cellular_apn::kUsername, &kStringSignature}, |
| 222 { ::onc::cellular_apn::kPassword, &kStringSignature}, | 229 { ::onc::cellular_apn::kPassword, &kStringSignature}, |
| 230 { ::onc::cellular_apn::kLocalizedName, &kStringSignature}, | |
| 231 { ::onc::cellular_apn::kLanguage, &kStringSignature}, | |
| 232 {NULL}}; | |
| 233 | |
| 234 const OncFieldSignature cellular_found_network_fields[] = { | |
| 235 { ::onc::cellular_found_network::kStatus, &kStringSignature}, | |
| 236 { ::onc::cellular_found_network::kNetworkId, &kStringSignature}, | |
| 237 { ::onc::cellular_found_network::kShortName, &kStringSignature}, | |
| 238 { ::onc::cellular_found_network::kLongName, &kStringSignature}, | |
| 239 { ::onc::cellular_found_network::kTechnology, &kStringSignature}, | |
| 240 {NULL}}; | |
| 241 | |
| 242 const OncFieldSignature sim_lock_status_fields[] = { | |
| 243 { ::onc::sim_lock_status::kLockEnabled, &kBoolSignature}, | |
| 244 { ::onc::sim_lock_status::kLockType, &kStringSignature}, | |
| 245 { ::onc::sim_lock_status::kRetriesLeft, &kDoubleSignature}, | |
| 223 {NULL}}; | 246 {NULL}}; |
| 224 | 247 |
| 225 const OncFieldSignature cellular_fields[] = { | 248 const OncFieldSignature cellular_fields[] = { |
| 226 { ::onc::kRecommended, &kRecommendedSignature}, | 249 { ::onc::kRecommended, &kRecommendedSignature}, |
| 227 { ::onc::cellular::kAPN, &kCellularApnSignature }, | 250 { ::onc::cellular::kAPN, &kCellularApnSignature }, |
| 228 { ::onc::cellular::kAPNList, &kCellularApnListSignature}, | 251 { ::onc::cellular::kAPNList, &kCellularApnListSignature}, |
| 229 {NULL}}; | 252 {NULL}}; |
| 230 | 253 |
| 231 const OncFieldSignature cellular_with_state_fields[] = { | 254 const OncFieldSignature cellular_with_state_fields[] = { |
| 232 { ::onc::cellular::kActivateOverNonCellularNetwork, &kBoolSignature}, | 255 { ::onc::cellular::kActivateOverNonCellularNetwork, &kBoolSignature}, |
| 233 { ::onc::cellular::kActivationState, &kStringSignature}, | 256 { ::onc::cellular::kActivationState, &kStringSignature}, |
| 257 { ::onc::cellular::kNetworkTechnology, &kStringSignature}, | |
| 258 { ::onc::cellular::kRoamingState, &kStringSignature}, | |
| 259 { ::onc::cellular::kServingOperator, &kCellularProviderSignature}, | |
| 260 {NULL}}; | |
| 261 | |
| 262 const OncFieldSignature cellular_device_fields[] = { | |
| 234 { ::onc::cellular::kAllowRoaming, &kBoolSignature}, | 263 { ::onc::cellular::kAllowRoaming, &kBoolSignature}, |
| 264 { ::onc::cellular::kAPNList, &kCellularApnListSignature}, | |
|
pneubeck (no reviews)
2014/07/21 08:21:53
this exists now in both CellularDevice and Cellula
stevenjb
2014/07/22 18:29:33
I think it probably doesn't belong in Cellular, wi
| |
| 235 { ::onc::cellular::kCarrier, &kStringSignature}, | 265 { ::onc::cellular::kCarrier, &kStringSignature}, |
| 236 { ::onc::cellular::kESN, &kStringSignature}, | 266 { ::onc::cellular::kESN, &kStringSignature}, |
| 237 { ::onc::cellular::kFamily, &kStringSignature}, | 267 { ::onc::cellular::kFamily, &kStringSignature}, |
| 238 { ::onc::cellular::kFirmwareRevision, &kStringSignature}, | 268 { ::onc::cellular::kFirmwareRevision, &kStringSignature}, |
| 239 { ::onc::cellular::kFoundNetworks, &kStringSignature}, | 269 { ::onc::cellular::kFoundNetworks, &kCellularFoundNetworkListSignature}, |
| 240 { ::onc::cellular::kHardwareRevision, &kStringSignature}, | 270 { ::onc::cellular::kHardwareRevision, &kStringSignature}, |
| 241 { ::onc::cellular::kHomeProvider, &kCellularProviderSignature}, | 271 { ::onc::cellular::kHomeProvider, &kCellularProviderSignature}, |
| 242 { ::onc::cellular::kICCID, &kStringSignature}, | 272 { ::onc::cellular::kICCID, &kStringSignature}, |
| 243 { ::onc::cellular::kIMEI, &kStringSignature}, | 273 { ::onc::cellular::kIMEI, &kStringSignature}, |
| 244 { ::onc::cellular::kIMSI, &kStringSignature}, | 274 { ::onc::cellular::kIMSI, &kStringSignature}, |
| 245 { ::onc::cellular::kManufacturer, &kStringSignature}, | 275 { ::onc::cellular::kManufacturer, &kStringSignature}, |
| 246 { ::onc::cellular::kMDN, &kStringSignature}, | 276 { ::onc::cellular::kMDN, &kStringSignature}, |
| 247 { ::onc::cellular::kMEID, &kStringSignature}, | 277 { ::onc::cellular::kMEID, &kStringSignature}, |
| 248 { ::onc::cellular::kMIN, &kStringSignature}, | 278 { ::onc::cellular::kMIN, &kStringSignature}, |
| 249 { ::onc::cellular::kModelID, &kStringSignature}, | 279 { ::onc::cellular::kModelID, &kStringSignature}, |
| 250 { ::onc::cellular::kNetworkTechnology, &kStringSignature}, | 280 { ::onc::cellular::kPRLVersion, &kIntegerSignature}, |
| 251 { ::onc::cellular::kPRLVersion, &kStringSignature}, | |
| 252 { ::onc::cellular::kProviderRequiresRoaming, &kBoolSignature}, | 281 { ::onc::cellular::kProviderRequiresRoaming, &kBoolSignature}, |
| 253 { ::onc::cellular::kRoamingState, &kStringSignature}, | |
| 254 { ::onc::cellular::kSelectedNetwork, &kStringSignature}, | 282 { ::onc::cellular::kSelectedNetwork, &kStringSignature}, |
| 255 { ::onc::cellular::kServingOperator, &kCellularProviderSignature}, | 283 { ::onc::cellular::kSIMLockStatus, &kSIMLockStatusSignature}, |
| 256 { ::onc::cellular::kSIMLockEnabled, &kBoolSignature}, | 284 { ::onc::cellular::kSIMPresent, &kBoolSignature}, |
| 257 { ::onc::cellular::kSIMLockStatus, &kStringSignature}, | 285 { ::onc::cellular::kSupportedCarriers, &kStringListSignature}, |
| 258 { ::onc::cellular::kSIMLockType, &kStringSignature}, | 286 { ::onc::cellular::kSupportNetworkScan, &kBoolSignature}, |
| 259 { ::onc::cellular::kSIMPresent, &kStringSignature}, | |
| 260 { ::onc::cellular::kSupportedCarriers, &kStringSignature}, | |
| 261 { ::onc::cellular::kSupportNetworkScan, &kStringSignature}, | |
| 262 {NULL}}; | 287 {NULL}}; |
| 263 | 288 |
| 264 const OncFieldSignature network_configuration_fields[] = { | 289 const OncFieldSignature network_configuration_fields[] = { |
| 265 { ::onc::kRecommended, &kRecommendedSignature}, | 290 { ::onc::kRecommended, &kRecommendedSignature}, |
| 266 { ::onc::network_config::kEthernet, &kEthernetSignature}, | 291 { ::onc::network_config::kEthernet, &kEthernetSignature}, |
| 267 { ::onc::network_config::kGUID, &kStringSignature}, | 292 { ::onc::network_config::kGUID, &kStringSignature}, |
| 268 // Not supported for policy but for reading network state. | 293 // Not supported for policy but for reading network state. |
| 269 { ::onc::network_config::kIPConfigs, &kIPConfigListSignature}, | 294 { ::onc::network_config::kIPConfigs, &kIPConfigListSignature}, |
| 270 { ::onc::network_config::kName, &kStringSignature}, | 295 { ::onc::network_config::kName, &kStringSignature}, |
| 271 // Not supported, yet. | 296 // Not supported, yet. |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 396 const OncValueSignature kWiFiWithStateSignature = { | 421 const OncValueSignature kWiFiWithStateSignature = { |
| 397 base::Value::TYPE_DICTIONARY, wifi_with_state_fields, NULL, &kWiFiSignature | 422 base::Value::TYPE_DICTIONARY, wifi_with_state_fields, NULL, &kWiFiSignature |
| 398 }; | 423 }; |
| 399 const OncValueSignature kCellularSignature = { | 424 const OncValueSignature kCellularSignature = { |
| 400 base::Value::TYPE_DICTIONARY, cellular_fields, NULL | 425 base::Value::TYPE_DICTIONARY, cellular_fields, NULL |
| 401 }; | 426 }; |
| 402 const OncValueSignature kCellularWithStateSignature = { | 427 const OncValueSignature kCellularWithStateSignature = { |
| 403 base::Value::TYPE_DICTIONARY, cellular_with_state_fields, NULL, | 428 base::Value::TYPE_DICTIONARY, cellular_with_state_fields, NULL, |
| 404 &kCellularSignature | 429 &kCellularSignature |
| 405 }; | 430 }; |
| 431 const OncValueSignature kCellularDeviceSignature = { | |
| 432 base::Value::TYPE_DICTIONARY, cellular_device_fields, NULL | |
| 433 }; | |
| 406 const OncValueSignature kCellularProviderSignature = { | 434 const OncValueSignature kCellularProviderSignature = { |
| 407 base::Value::TYPE_DICTIONARY, cellular_provider_fields, NULL | 435 base::Value::TYPE_DICTIONARY, cellular_provider_fields, NULL |
| 408 }; | 436 }; |
| 409 const OncValueSignature kCellularApnSignature = { | 437 const OncValueSignature kCellularApnSignature = { |
| 410 base::Value::TYPE_DICTIONARY, cellular_apn_fields, NULL | 438 base::Value::TYPE_DICTIONARY, cellular_apn_fields, NULL |
| 411 }; | 439 }; |
| 440 const OncValueSignature kCellularFoundNetworkSignature = { | |
| 441 base::Value::TYPE_DICTIONARY, cellular_found_network_fields, NULL | |
| 442 }; | |
| 443 const OncValueSignature kSIMLockStatusSignature = { | |
| 444 base::Value::TYPE_DICTIONARY, sim_lock_status_fields, NULL | |
| 445 }; | |
| 412 | 446 |
| 413 const OncFieldSignature* GetFieldSignature(const OncValueSignature& signature, | 447 const OncFieldSignature* GetFieldSignature(const OncValueSignature& signature, |
| 414 const std::string& onc_field_name) { | 448 const std::string& onc_field_name) { |
| 415 if (!signature.fields) | 449 if (!signature.fields) |
| 416 return NULL; | 450 return NULL; |
| 417 for (const OncFieldSignature* field_signature = signature.fields; | 451 for (const OncFieldSignature* field_signature = signature.fields; |
| 418 field_signature->onc_field_name != NULL; ++field_signature) { | 452 field_signature->onc_field_name != NULL; ++field_signature) { |
| 419 if (onc_field_name == field_signature->onc_field_name) | 453 if (onc_field_name == field_signature->onc_field_name) |
| 420 return field_signature; | 454 return field_signature; |
| 421 } | 455 } |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 451 if (&signature == entry->value_signature && | 485 if (&signature == entry->value_signature && |
| 452 onc_field_name == entry->field_name) { | 486 onc_field_name == entry->field_name) { |
| 453 return true; | 487 return true; |
| 454 } | 488 } |
| 455 } | 489 } |
| 456 return false; | 490 return false; |
| 457 } | 491 } |
| 458 | 492 |
| 459 } // namespace onc | 493 } // namespace onc |
| 460 } // namespace chromeos | 494 } // namespace chromeos |
| OLD | NEW |