Chromium Code Reviews| 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/network_util.h" | 5 #include "chromeos/network/network_util.h" |
| 6 | 6 |
| 7 #include "base/strings/string_tokenizer.h" | 7 #include "base/strings/string_tokenizer.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "chromeos/network/favorite_state.h" | |
| 9 #include "chromeos/network/network_state.h" | 10 #include "chromeos/network/network_state.h" |
| 10 #include "chromeos/network/network_state_handler.h" | 11 #include "chromeos/network/network_state_handler.h" |
| 11 #include "chromeos/network/onc/onc_signature.h" | 12 #include "chromeos/network/onc/onc_signature.h" |
| 12 #include "chromeos/network/onc/onc_translator.h" | 13 #include "chromeos/network/onc/onc_translator.h" |
| 13 #include "chromeos/network/shill_property_util.h" | 14 #include "chromeos/network/shill_property_util.h" |
| 14 #include "third_party/cros_system_api/dbus/service_constants.h" | 15 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 15 | 16 |
| 16 namespace chromeos { | 17 namespace chromeos { |
| 17 | 18 |
| 18 WifiAccessPoint::WifiAccessPoint() | 19 WifiAccessPoint::WifiAccessPoint() |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 120 &scan_result.long_name); | 121 &scan_result.long_name); |
| 121 dict->GetStringWithoutPathExpansion(shill::kShortNameProperty, | 122 dict->GetStringWithoutPathExpansion(shill::kShortNameProperty, |
| 122 &scan_result.short_name); | 123 &scan_result.short_name); |
| 123 dict->GetStringWithoutPathExpansion(shill::kTechnologyProperty, | 124 dict->GetStringWithoutPathExpansion(shill::kTechnologyProperty, |
| 124 &scan_result.technology); | 125 &scan_result.technology); |
| 125 scan_results->push_back(scan_result); | 126 scan_results->push_back(scan_result); |
| 126 } | 127 } |
| 127 return true; | 128 return true; |
| 128 } | 129 } |
| 129 | 130 |
| 131 scoped_ptr<base::DictionaryValue> TranslateFavoriteStateToONC( | |
| 132 const FavoriteState* favorite) { | |
| 133 // Get the properties from the FavoriteState. | |
| 134 base::DictionaryValue shill_dictionary; | |
| 135 favorite->GetStateProperties(&shill_dictionary); | |
| 136 | |
| 137 // If a corresponding NetworkState exists, merge its State properties. | |
| 138 const NetworkState* network_state = | |
| 139 NetworkHandler::Get()->network_state_handler()->GetNetworkState( | |
| 140 favorite->path()); | |
| 141 if (network_state) { | |
| 142 base::DictionaryValue shill_network_dictionary; | |
| 143 network_state->GetStateProperties(&shill_network_dictionary); | |
|
pneubeck (no reviews)
2014/05/15 18:28:38
optional nit: GetStateProperties could merge only
stevenjb
2014/05/15 20:12:41
While that is probably safe currently, and I could
| |
| 144 shill_dictionary.MergeDictionary(&shill_network_dictionary); | |
| 145 } | |
| 146 | |
| 147 scoped_ptr<base::DictionaryValue> onc_dictionary = | |
| 148 TranslateShillServiceToONCPart( | |
| 149 shill_dictionary, &onc::kNetworkWithStateSignature); | |
| 150 return onc_dictionary.Pass(); | |
| 151 } | |
| 152 | |
| 130 scoped_ptr<base::ListValue> TranslateNetworkListToONC( | 153 scoped_ptr<base::ListValue> TranslateNetworkListToONC( |
| 131 NetworkTypePattern pattern) { | 154 NetworkTypePattern pattern, |
| 132 NetworkStateHandler::NetworkStateList network_states; | 155 bool configured_only, |
| 133 NetworkHandler::Get()->network_state_handler()->GetNetworkListByType( | 156 bool visible_only, |
| 134 pattern, &network_states); | 157 int limit) { |
| 158 NetworkStateHandler::FavoriteStateList favorite_states; | |
| 159 NetworkHandler::Get()->network_state_handler()->GetFavoriteListByType( | |
| 160 pattern, configured_only, visible_only, &favorite_states); | |
| 135 | 161 |
| 162 int count = 0; | |
|
pneubeck (no reviews)
2014/05/15 18:28:38
optional nit: limit could also be forwarded to Get
stevenjb
2014/05/15 20:12:41
Moved limit to GetFavoriteListByType (and changed
| |
| 136 scoped_ptr<base::ListValue> network_properties_list(new base::ListValue); | 163 scoped_ptr<base::ListValue> network_properties_list(new base::ListValue); |
| 137 for (NetworkStateHandler::NetworkStateList::iterator it = | 164 for (NetworkStateHandler::FavoriteStateList::iterator it = |
| 138 network_states.begin(); | 165 favorite_states.begin(); |
| 139 it != network_states.end(); | 166 it != favorite_states.end(); |
| 140 ++it) { | 167 ++it) { |
| 141 base::DictionaryValue shill_dictionary; | 168 scoped_ptr<base::DictionaryValue> onc_dictionary = |
| 142 (*it)->GetStateProperties(&shill_dictionary); | 169 TranslateFavoriteStateToONC(*it); |
| 143 | 170 network_properties_list->Append(onc_dictionary.release()); |
| 144 scoped_ptr<base::DictionaryValue> onc_network_part = | 171 if (++count >= limit) |
|
pneubeck (no reviews)
2014/05/15 18:28:38
I'd find it more logical if the condition would be
stevenjb
2014/05/15 20:12:41
meh
| |
| 145 TranslateShillServiceToONCPart( | 172 break; |
| 146 shill_dictionary, &onc::kNetworkWithStateSignature); | |
| 147 network_properties_list->Append(onc_network_part.release()); | |
| 148 } | 173 } |
| 149 return network_properties_list.Pass(); | 174 return network_properties_list.Pass(); |
| 150 } | 175 } |
| 151 | 176 |
| 152 } // namespace network_util | 177 } // namespace network_util |
| 153 } // namespace chromeos | 178 } // namespace chromeos |
| OLD | NEW |