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..58e7f2fdad88b60fe5880281daabd31a5b9f943d 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_state_handler.h" |
#include "chromeos/network/onc/onc_signature.h" |
#include "chromeos/network/onc/onc_translation_tables.h" |
#include "chromeos/network/shill_property_util.h" |
@@ -458,5 +459,31 @@ scoped_ptr<base::DictionaryValue> TranslateShillServiceToONCPart( |
return translator.CreateTranslatedONCObject(); |
} |
+scoped_ptr<base::ListValue> TranslateShillNetworkListToONC( |
pneubeck (no reviews)
2014/05/08 09:21:43
This depends on NetworkHandlers although my intent
|
+ NetworkTypePattern pattern) { |
+ NetworkStateHandler::NetworkStateList network_states; |
+ NetworkHandler::Get()->network_state_handler()->GetNetworkListByType( |
+ pattern, &network_states); |
+ |
+ scoped_ptr<base::ListValue> network_properties_list(new base::ListValue); |
+ for (NetworkStateHandler::NetworkStateList::iterator it = |
+ network_states.begin(); |
+ it != network_states.end(); |
+ ++it) { |
+ base::DictionaryValue shill_dictionary; |
+ (*it)->GetStateProperties(&shill_dictionary); |
+ |
+ scoped_ptr<base::DictionaryValue> onc_network_part = |
+ TranslateShillServiceToONCPart( |
+ shill_dictionary, &chromeos::onc::kNetworkWithStateSignature); |
+ // TODO(stevenjb): Fix this to always use GUID: crbug.com/284827 |
+ onc_network_part->SetStringWithoutPathExpansion( |
+ ::onc::network_config::kGUID, |
+ (*it)->path()); |
+ network_properties_list->Append(onc_network_part.release()); |
+ } |
+ return network_properties_list.Pass(); |
+} |
+ |
} // namespace onc |
} // namespace chromeos |