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.
5 #include "components/wifi_sync/network_state_helper_chromeos.h"
7 #include "base/logging.h"
8 #include "chromeos/network/network_state.h"
9 #include "chromeos/network/network_state_handler.h"
10 #include "chromeos/network/network_type_pattern.h"
11 #include "components/wifi_sync/wifi_security_class.h"
15 WifiCredential::CredentialSet
GetWifiCredentialsForShillProfile(
16 chromeos::NetworkStateHandler
* network_state_handler
,
17 const std::string
& shill_profile_path
) {
18 DCHECK(network_state_handler
);
20 chromeos::NetworkStateHandler::NetworkStateList networks
;
21 network_state_handler
->GetNetworkListByType(
22 chromeos::NetworkTypePattern::WiFi(),
23 true /* configured_only */,
24 false /* visible_only */,
25 0 /* unlimited result size */,
28 auto credentials(WifiCredential::MakeSet());
29 for (const chromeos::NetworkState
* network
: networks
) {
30 if (network
->profile_path() != shill_profile_path
)
33 // TODO(quiche): Fill in the actual passphrase via an asynchronous
34 // call to a chromeos::NetworkConfigurationHandler instance's
35 // GetProperties method.
36 scoped_ptr
<WifiCredential
> credential
=
37 WifiCredential::Create(
39 WifiSecurityClassFromShillSecurity(network
->security_class()),
40 "" /* empty passphrase */);
42 LOG(ERROR
) << "Failed to create credential";
44 credentials
.insert(*credential
);
49 } // namespace wifi_sync