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 |