| 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_utils.h" | 5 #include "chromeos/network/onc/onc_utils.h" |
| 6 | 6 |
| 7 #include "base/base64.h" | 7 #include "base/base64.h" |
| 8 #include "base/json/json_reader.h" | 8 #include "base/json/json_reader.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 GetFieldSignature(signature, it.key()); | 257 GetFieldSignature(signature, it.key()); |
| 258 if (!field_signature) | 258 if (!field_signature) |
| 259 continue; | 259 continue; |
| 260 | 260 |
| 261 FillInHexSSIDFieldsInOncObject(*field_signature->value_signature, | 261 FillInHexSSIDFieldsInOncObject(*field_signature->value_signature, |
| 262 inner_object); | 262 inner_object); |
| 263 } | 263 } |
| 264 } | 264 } |
| 265 | 265 |
| 266 void FillInHexSSIDField(base::DictionaryValue* wifi_fields) { | 266 void FillInHexSSIDField(base::DictionaryValue* wifi_fields) { |
| 267 if (!wifi_fields->HasKey(::onc::wifi::kHexSSID)) { | 267 std::string ssid_string; |
| 268 std::string ssid_string; | 268 if (wifi_fields->HasKey(::onc::wifi::kHexSSID) || |
| 269 wifi_fields->GetStringWithoutPathExpansion(::onc::wifi::kSSID, | 269 !wifi_fields->GetStringWithoutPathExpansion(::onc::wifi::kSSID, |
| 270 &ssid_string); | 270 &ssid_string)) { |
| 271 wifi_fields->SetStringWithoutPathExpansion( | 271 return; |
| 272 ::onc::wifi::kHexSSID, | |
| 273 base::HexEncode(ssid_string.c_str(), ssid_string.size())); | |
| 274 } | 272 } |
| 273 if (ssid_string.empty()) { |
| 274 ONC_LOG_ERROR("Found empty SSID field."); |
| 275 return; |
| 276 } |
| 277 wifi_fields->SetStringWithoutPathExpansion( |
| 278 ::onc::wifi::kHexSSID, |
| 279 base::HexEncode(ssid_string.c_str(), ssid_string.size())); |
| 275 } | 280 } |
| 276 | 281 |
| 277 namespace { | 282 namespace { |
| 278 | 283 |
| 279 class OncMaskValues : public Mapper { | 284 class OncMaskValues : public Mapper { |
| 280 public: | 285 public: |
| 281 static scoped_ptr<base::DictionaryValue> Mask( | 286 static scoped_ptr<base::DictionaryValue> Mask( |
| 282 const OncValueSignature& signature, | 287 const OncValueSignature& signature, |
| 283 const base::DictionaryValue& onc_object, | 288 const base::DictionaryValue& onc_object, |
| 284 const std::string& mask) { | 289 const std::string& mask) { |
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 735 } | 740 } |
| 736 | 741 |
| 737 const base::ListValue* recommended_keys = NULL; | 742 const base::ListValue* recommended_keys = NULL; |
| 738 return (onc->GetList(recommended_property_key, &recommended_keys) && | 743 return (onc->GetList(recommended_property_key, &recommended_keys) && |
| 739 recommended_keys->Find(base::StringValue(property_basename)) != | 744 recommended_keys->Find(base::StringValue(property_basename)) != |
| 740 recommended_keys->end()); | 745 recommended_keys->end()); |
| 741 } | 746 } |
| 742 | 747 |
| 743 } // namespace onc | 748 } // namespace onc |
| 744 } // namespace chromeos | 749 } // namespace chromeos |
| OLD | NEW |