| 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_translator.h" | 5 #include "chromeos/network/onc/onc_translator.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 void ShillToONCTranslator::TranslateWiMAXWithState() { | 336 void ShillToONCTranslator::TranslateWiMAXWithState() { |
| 337 CopyPropertiesAccordingToSignature(); | 337 CopyPropertiesAccordingToSignature(); |
| 338 TranslateAndAddNestedObject(::onc::wimax::kEAP); | 338 TranslateAndAddNestedObject(::onc::wimax::kEAP); |
| 339 } | 339 } |
| 340 | 340 |
| 341 void ShillToONCTranslator::TranslateCellularWithState() { | 341 void ShillToONCTranslator::TranslateCellularWithState() { |
| 342 CopyPropertiesAccordingToSignature(); | 342 CopyPropertiesAccordingToSignature(); |
| 343 TranslateWithTableAndSet(shill::kActivationStateProperty, | 343 TranslateWithTableAndSet(shill::kActivationStateProperty, |
| 344 kActivationStateTable, | 344 kActivationStateTable, |
| 345 ::onc::cellular::kActivationState); | 345 ::onc::cellular::kActivationState); |
| 346 TranslateWithTableAndSet(shill::kRoamingStateProperty, | |
| 347 kRoamingStateTable, | |
| 348 ::onc::cellular::kRoamingState); | |
| 349 const base::DictionaryValue* dictionary = NULL; | 346 const base::DictionaryValue* dictionary = NULL; |
| 350 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( | 347 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( |
| 351 shill::kServingOperatorProperty, &dictionary)) { | 348 shill::kServingOperatorProperty, &dictionary)) { |
| 352 TranslateAndAddNestedObject(::onc::cellular::kServingOperator, *dictionary); | 349 TranslateAndAddNestedObject(::onc::cellular::kServingOperator, *dictionary); |
| 353 } | 350 } |
| 354 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( | 351 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( |
| 355 shill::kCellularApnProperty, &dictionary)) { | 352 shill::kCellularApnProperty, &dictionary)) { |
| 356 TranslateAndAddNestedObject(::onc::cellular::kAPN, *dictionary); | 353 TranslateAndAddNestedObject(::onc::cellular::kAPN, *dictionary); |
| 357 } | 354 } |
| 358 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( | 355 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( |
| 359 shill::kCellularLastGoodApnProperty, &dictionary)) { | 356 shill::kCellularLastGoodApnProperty, &dictionary)) { |
| 360 TranslateAndAddNestedObject(::onc::cellular::kLastGoodAPN, *dictionary); | 357 TranslateAndAddNestedObject(::onc::cellular::kLastGoodAPN, *dictionary); |
| 361 } | 358 } |
| 362 // Merge the Device dictionary with this one (Cellular) using the | |
| 363 // CellularDevice signature. | |
| 364 const base::DictionaryValue* device_dictionary = NULL; | 359 const base::DictionaryValue* device_dictionary = NULL; |
| 365 if (!shill_dictionary_->GetDictionaryWithoutPathExpansion( | 360 bool requires_roaming = false; |
| 366 shill::kDeviceProperty, &device_dictionary)) { | 361 shill_dictionary_->GetDictionaryWithoutPathExpansion(shill::kDeviceProperty, |
| 367 return; | 362 &device_dictionary); |
| 363 if (device_dictionary) { |
| 364 // Merge the Device dictionary with this one (Cellular) using the |
| 365 // CellularDevice signature. |
| 366 ShillToONCTranslator nested_translator(*device_dictionary, onc_source_, |
| 367 kCellularWithStateSignature, |
| 368 kCellularDeviceTable); |
| 369 scoped_ptr<base::DictionaryValue> nested_object = |
| 370 nested_translator.CreateTranslatedONCObject(); |
| 371 onc_object_->MergeDictionary(nested_object.get()); |
| 372 |
| 373 /// Get the requires_roaming from the Device dictionary. |
| 374 device_dictionary->GetBooleanWithoutPathExpansion( |
| 375 shill::kProviderRequiresRoamingProperty, &requires_roaming); |
| 368 } | 376 } |
| 369 ShillToONCTranslator nested_translator(*device_dictionary, | 377 if (requires_roaming) { |
| 370 onc_source_, | 378 onc_object_->SetStringWithoutPathExpansion( |
| 371 kCellularWithStateSignature, | 379 ::onc::cellular::kRoamingState, ::onc::cellular::kRoamingRequired); |
| 372 kCellularDeviceTable); | 380 } else { |
| 373 scoped_ptr<base::DictionaryValue> nested_object = | 381 TranslateWithTableAndSet(shill::kRoamingStateProperty, kRoamingStateTable, |
| 374 nested_translator.CreateTranslatedONCObject(); | 382 ::onc::cellular::kRoamingState); |
| 375 onc_object_->MergeDictionary(nested_object.get()); | 383 } |
| 376 } | 384 } |
| 377 | 385 |
| 378 void ShillToONCTranslator::TranslateCellularDevice() { | 386 void ShillToONCTranslator::TranslateCellularDevice() { |
| 379 CopyPropertiesAccordingToSignature(); | 387 CopyPropertiesAccordingToSignature(); |
| 380 const base::DictionaryValue* shill_sim_lock_status = NULL; | 388 const base::DictionaryValue* shill_sim_lock_status = NULL; |
| 381 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( | 389 if (shill_dictionary_->GetDictionaryWithoutPathExpansion( |
| 382 shill::kSIMLockStatusProperty, &shill_sim_lock_status)) { | 390 shill::kSIMLockStatusProperty, &shill_sim_lock_status)) { |
| 383 TranslateAndAddNestedObject(::onc::cellular::kSIMLockStatus, | 391 TranslateAndAddNestedObject(::onc::cellular::kSIMLockStatus, |
| 384 *shill_sim_lock_status); | 392 *shill_sim_lock_status); |
| 385 } | 393 } |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 700 ::onc::ONCSource onc_source, | 708 ::onc::ONCSource onc_source, |
| 701 const OncValueSignature* onc_signature) { | 709 const OncValueSignature* onc_signature) { |
| 702 CHECK(onc_signature != NULL); | 710 CHECK(onc_signature != NULL); |
| 703 | 711 |
| 704 ShillToONCTranslator translator(shill_dictionary, onc_source, *onc_signature); | 712 ShillToONCTranslator translator(shill_dictionary, onc_source, *onc_signature); |
| 705 return translator.CreateTranslatedONCObject(); | 713 return translator.CreateTranslatedONCObject(); |
| 706 } | 714 } |
| 707 | 715 |
| 708 } // namespace onc | 716 } // namespace onc |
| 709 } // namespace chromeos | 717 } // namespace chromeos |
| OLD | NEW |