Index: chromeos/network/onc/onc_signature.cc |
diff --git a/chromeos/network/onc/onc_signature.cc b/chromeos/network/onc/onc_signature.cc |
index 54632ac911b24385c082b7c539786b3deb602371..9d8ef917520898ba67cc7d4c8a0effe0200c0131 100644 |
--- a/chromeos/network/onc/onc_signature.cc |
+++ b/chromeos/network/onc/onc_signature.cc |
@@ -22,6 +22,9 @@ const OncValueSignature kStringSignature = { |
const OncValueSignature kIntegerSignature = { |
base::Value::TYPE_INTEGER, NULL |
}; |
+const OncValueSignature kDoubleSignature = { |
+ base::Value::TYPE_DOUBLE, NULL |
+}; |
const OncValueSignature kStringListSignature = { |
base::Value::TYPE_LIST, NULL, &kStringSignature |
}; |
@@ -222,6 +225,12 @@ const OncFieldSignature cellular_apn_fields[] = { |
{ ::onc::cellular_apn::kPassword, &kStringSignature}, |
{NULL}}; |
+const OncFieldSignature sim_lock_status_fields[] = { |
+ { ::onc::sim_lock_status::kLockEnabled, &kBoolSignature}, |
+ { ::onc::sim_lock_status::kLockType, &kStringSignature}, |
+ { ::onc::sim_lock_status::kRetriesLeft, &kDoubleSignature}, |
+ {NULL}}; |
+ |
const OncFieldSignature cellular_fields[] = { |
{ ::onc::kRecommended, &kRecommendedSignature}, |
{ ::onc::cellular::kAPN, &kCellularApnSignature }, |
@@ -231,12 +240,19 @@ const OncFieldSignature cellular_fields[] = { |
const OncFieldSignature cellular_with_state_fields[] = { |
{ ::onc::cellular::kActivateOverNonCellularNetwork, &kBoolSignature}, |
{ ::onc::cellular::kActivationState, &kStringSignature}, |
+ { ::onc::cellular::kNetworkTechnology, &kStringSignature}, |
+ { ::onc::cellular::kRoamingState, &kStringSignature}, |
+ { ::onc::cellular::kServingOperator, &kCellularProviderSignature}, |
+ {NULL}}; |
+ |
+const OncFieldSignature cellular_device_fields[] = { |
{ ::onc::cellular::kAllowRoaming, &kBoolSignature}, |
{ ::onc::cellular::kCarrier, &kStringSignature}, |
{ ::onc::cellular::kESN, &kStringSignature}, |
{ ::onc::cellular::kFamily, &kStringSignature}, |
{ ::onc::cellular::kFirmwareRevision, &kStringSignature}, |
- { ::onc::cellular::kFoundNetworks, &kStringSignature}, |
+ // Array of dictionaries that needs to be handled similarily to APNList. |
+ // { ::onc::cellular::kFoundNetworks, &kStringSignature}, |
{ ::onc::cellular::kHardwareRevision, &kStringSignature}, |
{ ::onc::cellular::kHomeProvider, &kCellularProviderSignature}, |
{ ::onc::cellular::kICCID, &kStringSignature}, |
@@ -247,18 +263,13 @@ const OncFieldSignature cellular_with_state_fields[] = { |
{ ::onc::cellular::kMEID, &kStringSignature}, |
{ ::onc::cellular::kMIN, &kStringSignature}, |
{ ::onc::cellular::kModelID, &kStringSignature}, |
- { ::onc::cellular::kNetworkTechnology, &kStringSignature}, |
- { ::onc::cellular::kPRLVersion, &kStringSignature}, |
+ { ::onc::cellular::kPRLVersion, &kIntegerSignature}, |
{ ::onc::cellular::kProviderRequiresRoaming, &kBoolSignature}, |
- { ::onc::cellular::kRoamingState, &kStringSignature}, |
{ ::onc::cellular::kSelectedNetwork, &kStringSignature}, |
- { ::onc::cellular::kServingOperator, &kCellularProviderSignature}, |
- { ::onc::cellular::kSIMLockEnabled, &kBoolSignature}, |
- { ::onc::cellular::kSIMLockStatus, &kStringSignature}, |
- { ::onc::cellular::kSIMLockType, &kStringSignature}, |
- { ::onc::cellular::kSIMPresent, &kStringSignature}, |
- { ::onc::cellular::kSupportedCarriers, &kStringSignature}, |
- { ::onc::cellular::kSupportNetworkScan, &kStringSignature}, |
+ { ::onc::cellular::kSIMLockStatus, &kSIMLockStatusSignature}, |
+ { ::onc::cellular::kSIMPresent, &kBoolSignature}, |
+ { ::onc::cellular::kSupportedCarriers, &kStringListSignature}, |
+ { ::onc::cellular::kSupportNetworkScan, &kBoolSignature}, |
{NULL}}; |
const OncFieldSignature network_configuration_fields[] = { |
@@ -403,12 +414,18 @@ const OncValueSignature kCellularWithStateSignature = { |
base::Value::TYPE_DICTIONARY, cellular_with_state_fields, NULL, |
&kCellularSignature |
}; |
+const OncValueSignature kCellularDeviceSignature = { |
+ base::Value::TYPE_DICTIONARY, cellular_device_fields, NULL |
+}; |
const OncValueSignature kCellularProviderSignature = { |
base::Value::TYPE_DICTIONARY, cellular_provider_fields, NULL |
}; |
const OncValueSignature kCellularApnSignature = { |
base::Value::TYPE_DICTIONARY, cellular_apn_fields, NULL |
}; |
+const OncValueSignature kSIMLockStatusSignature = { |
+ base::Value::TYPE_DICTIONARY, sim_lock_status_fields, NULL |
+}; |
const OncFieldSignature* GetFieldSignature(const OncValueSignature& signature, |
const std::string& onc_field_name) { |