OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "components/wifi_sync/network_state_helper_chromeos.h" | |
6 | |
7 #include <memory> | |
8 | |
9 #include "base/logging.h" | |
10 #include "chromeos/network/network_state.h" | |
11 #include "chromeos/network/network_state_handler.h" | |
12 #include "chromeos/network/network_type_pattern.h" | |
13 #include "components/wifi_sync/wifi_security_class.h" | |
14 | |
15 namespace wifi_sync { | |
16 | |
17 WifiCredential::CredentialSet GetWifiCredentialsForShillProfile( | |
18 chromeos::NetworkStateHandler* network_state_handler, | |
19 const std::string& shill_profile_path) { | |
20 DCHECK(network_state_handler); | |
21 | |
22 chromeos::NetworkStateHandler::NetworkStateList networks; | |
23 network_state_handler->GetNetworkListByType( | |
24 chromeos::NetworkTypePattern::WiFi(), | |
25 true /* configured_only */, | |
26 false /* visible_only */, | |
27 0 /* unlimited result size */, | |
28 &networks); | |
29 | |
30 auto credentials(WifiCredential::MakeSet()); | |
31 for (const chromeos::NetworkState* network : networks) { | |
32 if (network->profile_path() != shill_profile_path) | |
33 continue; | |
34 | |
35 // TODO(quiche): Fill in the actual passphrase via an asynchronous | |
36 // call to a chromeos::NetworkConfigurationHandler instance's | |
37 // GetProperties method. | |
38 std::unique_ptr<WifiCredential> credential = WifiCredential::Create( | |
39 network->raw_ssid(), | |
40 WifiSecurityClassFromShillSecurity(network->security_class()), | |
41 "" /* empty passphrase */); | |
42 if (!credential) | |
43 LOG(ERROR) << "Failed to create credential"; | |
44 else | |
45 credentials.insert(*credential); | |
46 } | |
47 return credentials; | |
48 } | |
49 | |
50 } // namespace wifi_sync | |
OLD | NEW |