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 "chrome/browser/local_discovery/wifi/mock_wifi_manager.h"
6
7namespace local_discovery {
8
9namespace wifi {
10
11MockWifiManager::MockWifiManager() : weak_factory_(this) {
12}
13
14MockWifiManager::~MockWifiManager() {
15}
16
17void MockWifiManager::GetSSIDList(const SSIDListCallback& callback) {
18  ssid_list_callback_ = callback;
19  GetSSIDListInternal();
20}
21
22void MockWifiManager::CallSSIDListCallback(
23    const std::vector<NetworkProperties>& networks) {
24  ssid_list_callback_.Run(networks);
25}
26
27void MockWifiManager::ConfigureAndConnectNetwork(
28    const std::string& ssid,
29    const WifiCredentials& credentials,
30    const SuccessCallback& callback) {
31  configure_and_connect_network_callback_ = callback;
32  ConfigureAndConnectNetworkInternal(ssid, credentials.psk);
33}
34
35void MockWifiManager::CallConfigureAndConnectNetworkCallback(bool success) {
36  configure_and_connect_network_callback_.Run(success);
37}
38
39void MockWifiManager::ConnectToNetworkByID(const std::string& internal_id,
40                                           const SuccessCallback& callback) {
41  connect_by_id_callback_ = callback;
42  ConnectToNetworkByIDInternal(internal_id);
43}
44
45void MockWifiManager::CallConnectToNetworkByIDCallback(bool success) {
46  connect_by_id_callback_.Run(success);
47}
48
49void MockWifiManager::RequestNetworkCredentials(
50    const std::string& internal_id,
51    const CredentialsCallback& callback) {
52  credentials_callback_ = callback;
53  RequestNetworkCredentialsInternal(internal_id);
54}
55
56void MockWifiManager::CallRequestNetworkCredentialsCallback(
57    bool success,
58    const std::string& ssid,
59    const std::string& password) {
60  credentials_callback_.Run(success, ssid, password);
61}
62
63void MockWifiManager::CallNetworkListObservers(
64    const std::vector<NetworkProperties>& ssids) {
65  FOR_EACH_OBSERVER(
66      NetworkListObserver, network_observers_, OnNetworkListChanged(ssids));
67}
68
69void MockWifiManager::AddNetworkListObserver(NetworkListObserver* observer) {
70  network_observers_.AddObserver(observer);
71}
72
73void MockWifiManager::RemoveNetworkListObserver(NetworkListObserver* observer) {
74  network_observers_.RemoveObserver(observer);
75}
76
77MockWifiManagerFactory::MockWifiManagerFactory() {
78  WifiManager::SetFactory(this);
79}
80
81MockWifiManagerFactory::~MockWifiManagerFactory() {
82  WifiManager::SetFactory(NULL);
83}
84
85scoped_ptr<WifiManager> MockWifiManagerFactory::CreateWifiManager() {
86  last_created_manager_ = new MockWifiManager();
87
88  WifiManagerCreated();
89
90  return scoped_ptr<WifiManager>(last_created_manager_);
91}
92
93MockWifiManager* MockWifiManagerFactory::GetLastCreatedWifiManager() {
94  return last_created_manager_;
95}
96
97}  // namespace wifi
98
99}  // namespace local_discovery
100