Chromium Code Reviews| Index: chromeos/network/onc/onc_translator_shill_to_onc.cc |
| diff --git a/chromeos/network/onc/onc_translator_shill_to_onc.cc b/chromeos/network/onc/onc_translator_shill_to_onc.cc |
| index 11b802fadeeba7edef3f215161b13ec07c768306..9077dd323d0d6ba582bce80e759d223e831b031c 100644 |
| --- a/chromeos/network/onc/onc_translator_shill_to_onc.cc |
| +++ b/chromeos/network/onc/onc_translator_shill_to_onc.cc |
| @@ -12,6 +12,7 @@ |
| #include "base/logging.h" |
| #include "base/values.h" |
| #include "chromeos/network/network_state.h" |
| +#include "chromeos/network/network_util.h" |
| #include "chromeos/network/onc/onc_signature.h" |
| #include "chromeos/network/onc/onc_translation_tables.h" |
| #include "chromeos/network/shill_property_util.h" |
| @@ -290,6 +291,7 @@ void ShillToONCTranslator::TranslateNetworkWithState() { |
| onc_object_->SetStringWithoutPathExpansion(::onc::network_config::kName, |
| name); |
| + // Limit ONC state to "NotConnected", "Connected", or "Connecting". |
| std::string state; |
| if (shill_dictionary_->GetStringWithoutPathExpansion(shill::kStateProperty, |
| &state)) { |
| @@ -303,8 +305,19 @@ void ShillToONCTranslator::TranslateNetworkWithState() { |
| ::onc::network_config::kConnectionState, onc_state); |
| } |
| - // Shill's Service has an IPConfig property (note the singular, and not a |
| - // IPConfigs property). However, we require the caller of the translation to |
| + // Use a human-readable aa:bb format for any hardware MAC address. Note: |
| + // this property is provided by the caller| but is not part of the Shill |
|
pneubeck (no reviews)
2014/05/16 07:44:55
typo: remove orphaned '|'
stevenjb
2014/05/16 18:01:58
Done.
|
| + // Service properties (it is copied from the Device properties). |
| + std::string address; |
| + if (shill_dictionary_->GetStringWithoutPathExpansion(shill::kAddressProperty, |
| + &address)) { |
| + onc_object_->SetStringWithoutPathExpansion( |
| + ::onc::network_config::kMacAddress, |
| + network_util::FormattedMacAddress(address)); |
| + } |
| + |
| + // Shill's Service has an IPConfig property (note the singular), not an |
| + // IPConfigs property. However, we require the caller of the translation to |
| // patch the Shill dictionary before passing it to the translator. |
| const base::ListValue* shill_ipconfigs = NULL; |
| if (shill_dictionary_->GetListWithoutPathExpansion(shill::kIPConfigsProperty, |