| 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/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "chromeos/network/favorite_state.h" | |
| 11 #include "chromeos/network/network_state.h" | 10 #include "chromeos/network/network_state.h" |
| 12 #include "chromeos/network/network_state_handler.h" | 11 #include "chromeos/network/network_state_handler.h" |
| 13 #include "chromeos/network/onc/onc_signature.h" | 12 #include "chromeos/network/onc/onc_signature.h" |
| 14 #include "chromeos/network/onc/onc_translator.h" | 13 #include "chromeos/network/onc/onc_translator.h" |
| 15 #include "third_party/cros_system_api/dbus/service_constants.h" | 14 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 16 | 15 |
| 17 namespace chromeos { | 16 namespace chromeos { |
| 18 | 17 |
| 19 WifiAccessPoint::WifiAccessPoint() | 18 WifiAccessPoint::WifiAccessPoint() |
| 20 : signal_strength(0), | 19 : signal_strength(0), |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 &scan_result.long_name); | 132 &scan_result.long_name); |
| 134 dict->GetStringWithoutPathExpansion(shill::kShortNameProperty, | 133 dict->GetStringWithoutPathExpansion(shill::kShortNameProperty, |
| 135 &scan_result.short_name); | 134 &scan_result.short_name); |
| 136 dict->GetStringWithoutPathExpansion(shill::kTechnologyProperty, | 135 dict->GetStringWithoutPathExpansion(shill::kTechnologyProperty, |
| 137 &scan_result.technology); | 136 &scan_result.technology); |
| 138 scan_results->push_back(scan_result); | 137 scan_results->push_back(scan_result); |
| 139 } | 138 } |
| 140 return true; | 139 return true; |
| 141 } | 140 } |
| 142 | 141 |
| 143 scoped_ptr<base::DictionaryValue> TranslateFavoriteStateToONC( | 142 scoped_ptr<base::DictionaryValue> TranslateNetworkStateToONC( |
| 144 const FavoriteState* favorite) { | 143 const NetworkState* network) { |
| 145 // Get the properties from the FavoriteState. | 144 // Get the properties from the NetworkState. |
| 146 base::DictionaryValue shill_dictionary; | 145 base::DictionaryValue shill_dictionary; |
| 147 favorite->GetStateProperties(&shill_dictionary); | 146 network->GetStateProperties(&shill_dictionary); |
| 148 | |
| 149 // If a corresponding NetworkState exists, merge its State properties. | |
| 150 const NetworkState* network_state = | |
| 151 NetworkHandler::Get()->network_state_handler()->GetNetworkState( | |
| 152 favorite->path()); | |
| 153 if (network_state) { | |
| 154 base::DictionaryValue shill_network_dictionary; | |
| 155 network_state->GetStateProperties(&shill_network_dictionary); | |
| 156 shill_dictionary.MergeDictionary(&shill_network_dictionary); | |
| 157 } | |
| 158 | 147 |
| 159 scoped_ptr<base::DictionaryValue> onc_dictionary = | 148 scoped_ptr<base::DictionaryValue> onc_dictionary = |
| 160 TranslateShillServiceToONCPart( | 149 TranslateShillServiceToONCPart( |
| 161 shill_dictionary, &onc::kNetworkWithStateSignature); | 150 shill_dictionary, &onc::kNetworkWithStateSignature); |
| 162 return onc_dictionary.Pass(); | 151 return onc_dictionary.Pass(); |
| 163 } | 152 } |
| 164 | 153 |
| 165 scoped_ptr<base::ListValue> TranslateNetworkListToONC( | 154 scoped_ptr<base::ListValue> TranslateNetworkListToONC( |
| 166 NetworkTypePattern pattern, | 155 NetworkTypePattern pattern, |
| 167 bool configured_only, | 156 bool configured_only, |
| 168 bool visible_only, | 157 bool visible_only, |
| 169 int limit, | 158 int limit, |
| 170 bool debugging_properties) { | 159 bool debugging_properties) { |
| 171 NetworkStateHandler::FavoriteStateList favorite_states; | 160 NetworkStateHandler::NetworkStateList network_states; |
| 172 NetworkHandler::Get()->network_state_handler()->GetFavoriteListByType( | 161 NetworkHandler::Get()->network_state_handler()->GetNetworkListByType( |
| 173 pattern, configured_only, visible_only, limit, &favorite_states); | 162 pattern, configured_only, visible_only, limit, &network_states); |
| 174 | 163 |
| 175 scoped_ptr<base::ListValue> network_properties_list(new base::ListValue); | 164 scoped_ptr<base::ListValue> network_properties_list(new base::ListValue); |
| 176 for (NetworkStateHandler::FavoriteStateList::iterator it = | 165 for (NetworkStateHandler::NetworkStateList::iterator it = |
| 177 favorite_states.begin(); | 166 network_states.begin(); |
| 178 it != favorite_states.end(); | 167 it != network_states.end(); |
| 179 ++it) { | 168 ++it) { |
| 180 scoped_ptr<base::DictionaryValue> onc_dictionary = | 169 scoped_ptr<base::DictionaryValue> onc_dictionary = |
| 181 TranslateFavoriteStateToONC(*it); | 170 TranslateNetworkStateToONC(*it); |
| 182 | 171 |
| 183 if (debugging_properties) { | 172 if (debugging_properties) { |
| 173 onc_dictionary->SetBoolean("visible", (*it)->visible()); |
| 184 onc_dictionary->SetString("profile_path", (*it)->profile_path()); | 174 onc_dictionary->SetString("profile_path", (*it)->profile_path()); |
| 185 std::string onc_source = (*it)->ui_data().GetONCSourceAsString(); | 175 std::string onc_source = (*it)->ui_data().GetONCSourceAsString(); |
| 186 if (!onc_source.empty()) | 176 if (!onc_source.empty()) |
| 187 onc_dictionary->SetString("onc_source", onc_source); | 177 onc_dictionary->SetString("onc_source", onc_source); |
| 188 } | 178 } |
| 189 | 179 |
| 190 network_properties_list->Append(onc_dictionary.release()); | 180 network_properties_list->Append(onc_dictionary.release()); |
| 191 } | 181 } |
| 192 return network_properties_list.Pass(); | 182 return network_properties_list.Pass(); |
| 193 } | 183 } |
| 194 | 184 |
| 195 } // namespace network_util | 185 } // namespace network_util |
| 196 } // namespace chromeos | 186 } // namespace chromeos |
| OLD | NEW |