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

Side by Side Diff: chromeos/network/onc/onc_signature.cc

Issue 402953004: Correctly translate Cellular Device properties to ONC (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix signature Created 6 years, 5 months 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) 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 = {
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 { ::onc::cellular_provider::kCountry, &kStringSignature}, 218 { ::onc::cellular_provider::kCountry, &kStringSignature},
216 { ::onc::cellular_provider::kName, &kStringSignature}, 219 { ::onc::cellular_provider::kName, &kStringSignature},
217 {NULL}}; 220 {NULL}};
218 221
219 const OncFieldSignature cellular_apn_fields[] = { 222 const OncFieldSignature cellular_apn_fields[] = {
220 { ::onc::cellular_apn::kName, &kStringSignature}, 223 { ::onc::cellular_apn::kName, &kStringSignature},
221 { ::onc::cellular_apn::kUsername, &kStringSignature}, 224 { ::onc::cellular_apn::kUsername, &kStringSignature},
222 { ::onc::cellular_apn::kPassword, &kStringSignature}, 225 { ::onc::cellular_apn::kPassword, &kStringSignature},
223 {NULL}}; 226 {NULL}};
224 227
228 const OncFieldSignature sim_lock_status_fields[] = {
229 { ::onc::sim_lock_status::kLockEnabled, &kBoolSignature},
230 { ::onc::sim_lock_status::kLockType, &kStringSignature},
231 { ::onc::sim_lock_status::kRetriesLeft, &kDoubleSignature},
232 {NULL}};
233
225 const OncFieldSignature cellular_fields[] = { 234 const OncFieldSignature cellular_fields[] = {
226 { ::onc::kRecommended, &kRecommendedSignature}, 235 { ::onc::kRecommended, &kRecommendedSignature},
227 { ::onc::cellular::kAPN, &kCellularApnSignature }, 236 { ::onc::cellular::kAPN, &kCellularApnSignature },
228 { ::onc::cellular::kAPNList, &kCellularApnListSignature}, 237 { ::onc::cellular::kAPNList, &kCellularApnListSignature},
229 {NULL}}; 238 {NULL}};
230 239
231 const OncFieldSignature cellular_with_state_fields[] = { 240 const OncFieldSignature cellular_with_state_fields[] = {
232 { ::onc::cellular::kActivateOverNonCellularNetwork, &kBoolSignature}, 241 { ::onc::cellular::kActivateOverNonCellularNetwork, &kBoolSignature},
233 { ::onc::cellular::kActivationState, &kStringSignature}, 242 { ::onc::cellular::kActivationState, &kStringSignature},
243 { ::onc::cellular::kNetworkTechnology, &kStringSignature},
244 { ::onc::cellular::kRoamingState, &kStringSignature},
245 { ::onc::cellular::kServingOperator, &kCellularProviderSignature},
246 {NULL}};
247
248 const OncFieldSignature cellular_device_fields[] = {
234 { ::onc::cellular::kAllowRoaming, &kBoolSignature}, 249 { ::onc::cellular::kAllowRoaming, &kBoolSignature},
235 { ::onc::cellular::kCarrier, &kStringSignature}, 250 { ::onc::cellular::kCarrier, &kStringSignature},
236 { ::onc::cellular::kESN, &kStringSignature}, 251 { ::onc::cellular::kESN, &kStringSignature},
237 { ::onc::cellular::kFamily, &kStringSignature}, 252 { ::onc::cellular::kFamily, &kStringSignature},
238 { ::onc::cellular::kFirmwareRevision, &kStringSignature}, 253 { ::onc::cellular::kFirmwareRevision, &kStringSignature},
239 { ::onc::cellular::kFoundNetworks, &kStringSignature}, 254 // Array of dictionaries that needs to be handled similarily to APNList.
255 // { ::onc::cellular::kFoundNetworks, &kStringSignature},
240 { ::onc::cellular::kHardwareRevision, &kStringSignature}, 256 { ::onc::cellular::kHardwareRevision, &kStringSignature},
241 { ::onc::cellular::kHomeProvider, &kCellularProviderSignature}, 257 { ::onc::cellular::kHomeProvider, &kCellularProviderSignature},
242 { ::onc::cellular::kICCID, &kStringSignature}, 258 { ::onc::cellular::kICCID, &kStringSignature},
243 { ::onc::cellular::kIMEI, &kStringSignature}, 259 { ::onc::cellular::kIMEI, &kStringSignature},
244 { ::onc::cellular::kIMSI, &kStringSignature}, 260 { ::onc::cellular::kIMSI, &kStringSignature},
245 { ::onc::cellular::kManufacturer, &kStringSignature}, 261 { ::onc::cellular::kManufacturer, &kStringSignature},
246 { ::onc::cellular::kMDN, &kStringSignature}, 262 { ::onc::cellular::kMDN, &kStringSignature},
247 { ::onc::cellular::kMEID, &kStringSignature}, 263 { ::onc::cellular::kMEID, &kStringSignature},
248 { ::onc::cellular::kMIN, &kStringSignature}, 264 { ::onc::cellular::kMIN, &kStringSignature},
249 { ::onc::cellular::kModelID, &kStringSignature}, 265 { ::onc::cellular::kModelID, &kStringSignature},
250 { ::onc::cellular::kNetworkTechnology, &kStringSignature}, 266 { ::onc::cellular::kPRLVersion, &kIntegerSignature},
251 { ::onc::cellular::kPRLVersion, &kStringSignature},
252 { ::onc::cellular::kProviderRequiresRoaming, &kBoolSignature}, 267 { ::onc::cellular::kProviderRequiresRoaming, &kBoolSignature},
253 { ::onc::cellular::kRoamingState, &kStringSignature},
254 { ::onc::cellular::kSelectedNetwork, &kStringSignature}, 268 { ::onc::cellular::kSelectedNetwork, &kStringSignature},
255 { ::onc::cellular::kServingOperator, &kCellularProviderSignature}, 269 { ::onc::cellular::kSIMLockStatus, &kSIMLockStatusSignature},
256 { ::onc::cellular::kSIMLockEnabled, &kBoolSignature}, 270 { ::onc::cellular::kSIMPresent, &kBoolSignature},
257 { ::onc::cellular::kSIMLockStatus, &kStringSignature}, 271 { ::onc::cellular::kSupportedCarriers, &kStringListSignature},
258 { ::onc::cellular::kSIMLockType, &kStringSignature}, 272 { ::onc::cellular::kSupportNetworkScan, &kBoolSignature},
259 { ::onc::cellular::kSIMPresent, &kStringSignature},
260 { ::onc::cellular::kSupportedCarriers, &kStringSignature},
261 { ::onc::cellular::kSupportNetworkScan, &kStringSignature},
262 {NULL}}; 273 {NULL}};
263 274
264 const OncFieldSignature network_configuration_fields[] = { 275 const OncFieldSignature network_configuration_fields[] = {
265 { ::onc::kRecommended, &kRecommendedSignature}, 276 { ::onc::kRecommended, &kRecommendedSignature},
266 { ::onc::network_config::kEthernet, &kEthernetSignature}, 277 { ::onc::network_config::kEthernet, &kEthernetSignature},
267 { ::onc::network_config::kGUID, &kStringSignature}, 278 { ::onc::network_config::kGUID, &kStringSignature},
268 // Not supported for policy but for reading network state. 279 // Not supported for policy but for reading network state.
269 { ::onc::network_config::kIPConfigs, &kIPConfigListSignature}, 280 { ::onc::network_config::kIPConfigs, &kIPConfigListSignature},
270 { ::onc::network_config::kName, &kStringSignature}, 281 { ::onc::network_config::kName, &kStringSignature},
271 // Not supported, yet. 282 // Not supported, yet.
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 const OncValueSignature kWiFiWithStateSignature = { 407 const OncValueSignature kWiFiWithStateSignature = {
397 base::Value::TYPE_DICTIONARY, wifi_with_state_fields, NULL, &kWiFiSignature 408 base::Value::TYPE_DICTIONARY, wifi_with_state_fields, NULL, &kWiFiSignature
398 }; 409 };
399 const OncValueSignature kCellularSignature = { 410 const OncValueSignature kCellularSignature = {
400 base::Value::TYPE_DICTIONARY, cellular_fields, NULL 411 base::Value::TYPE_DICTIONARY, cellular_fields, NULL
401 }; 412 };
402 const OncValueSignature kCellularWithStateSignature = { 413 const OncValueSignature kCellularWithStateSignature = {
403 base::Value::TYPE_DICTIONARY, cellular_with_state_fields, NULL, 414 base::Value::TYPE_DICTIONARY, cellular_with_state_fields, NULL,
404 &kCellularSignature 415 &kCellularSignature
405 }; 416 };
417 const OncValueSignature kCellularDeviceSignature = {
418 base::Value::TYPE_DICTIONARY, cellular_device_fields, NULL
419 };
406 const OncValueSignature kCellularProviderSignature = { 420 const OncValueSignature kCellularProviderSignature = {
407 base::Value::TYPE_DICTIONARY, cellular_provider_fields, NULL 421 base::Value::TYPE_DICTIONARY, cellular_provider_fields, NULL
408 }; 422 };
409 const OncValueSignature kCellularApnSignature = { 423 const OncValueSignature kCellularApnSignature = {
410 base::Value::TYPE_DICTIONARY, cellular_apn_fields, NULL 424 base::Value::TYPE_DICTIONARY, cellular_apn_fields, NULL
411 }; 425 };
426 const OncValueSignature kSIMLockStatusSignature = {
427 base::Value::TYPE_DICTIONARY, sim_lock_status_fields, NULL
428 };
412 429
413 const OncFieldSignature* GetFieldSignature(const OncValueSignature& signature, 430 const OncFieldSignature* GetFieldSignature(const OncValueSignature& signature,
414 const std::string& onc_field_name) { 431 const std::string& onc_field_name) {
415 if (!signature.fields) 432 if (!signature.fields)
416 return NULL; 433 return NULL;
417 for (const OncFieldSignature* field_signature = signature.fields; 434 for (const OncFieldSignature* field_signature = signature.fields;
418 field_signature->onc_field_name != NULL; ++field_signature) { 435 field_signature->onc_field_name != NULL; ++field_signature) {
419 if (onc_field_name == field_signature->onc_field_name) 436 if (onc_field_name == field_signature->onc_field_name)
420 return field_signature; 437 return field_signature;
421 } 438 }
(...skipping 29 matching lines...) Expand all
451 if (&signature == entry->value_signature && 468 if (&signature == entry->value_signature &&
452 onc_field_name == entry->field_name) { 469 onc_field_name == entry->field_name) {
453 return true; 470 return true;
454 } 471 }
455 } 472 }
456 return false; 473 return false;
457 } 474 }
458 475
459 } // namespace onc 476 } // namespace onc
460 } // namespace chromeos 477 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698