| Index: chrome/browser/local_discovery/wifi/mock_wifi_manager.cc
|
| diff --git a/chrome/browser/local_discovery/wifi/mock_wifi_manager.cc b/chrome/browser/local_discovery/wifi/mock_wifi_manager.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d938b1896cd90ead820490da100f4d245def83cb
|
| --- /dev/null
|
| +++ b/chrome/browser/local_discovery/wifi/mock_wifi_manager.cc
|
| @@ -0,0 +1,125 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/local_discovery/wifi/mock_wifi_manager.h"
|
| +
|
| +namespace local_discovery {
|
| +
|
| +namespace wifi {
|
| +
|
| +class MockWifiManager::MockNetworkWatcher : public NetworkListWatcher {
|
| + public:
|
| + MockNetworkWatcher(const WifiManager::SSIDListCallback& callback,
|
| + base::WeakPtr<MockWifiManager> wifi_manager)
|
| + : callback_(callback), wifi_manager_(wifi_manager), started_(false) {}
|
| +
|
| + virtual ~MockNetworkWatcher() {
|
| + if (wifi_manager_ && started_) {
|
| + wifi_manager_->RemoveWatcher(this);
|
| + }
|
| + }
|
| +
|
| + virtual void Start() OVERRIDE {
|
| + wifi_manager_->AddWatcher(this);
|
| + started_ = true;
|
| + }
|
| +
|
| + void RunCallback(const std::vector<NetworkProperties>& ssids) {
|
| + callback_.Run(ssids);
|
| + }
|
| +
|
| + private:
|
| + WifiManager::SSIDListCallback callback_;
|
| + base::WeakPtr<MockWifiManager> wifi_manager_;
|
| + bool started_;
|
| +};
|
| +
|
| +MockWifiManager::MockWifiManager() : weak_factory_(this) {
|
| +}
|
| +
|
| +MockWifiManager::~MockWifiManager() {
|
| +}
|
| +
|
| +void MockWifiManager::GetSSIDList(const SSIDListCallback& callback) {
|
| + ssid_list_callback_ = callback;
|
| + GetSSIDListInternal();
|
| +}
|
| +
|
| +void MockWifiManager::CallSSIDListCallback(
|
| + const std::vector<NetworkProperties>& networks) {
|
| + ssid_list_callback_.Run(networks);
|
| +}
|
| +
|
| +void MockWifiManager::ConfigureAndConnectNetwork(
|
| + const std::string& ssid,
|
| + const WifiCredentials& credentials,
|
| + const SuccessCallback& callback) {
|
| + configure_and_connect_network_callback_ = callback;
|
| + ConfigureAndConnectNetworkInternal(ssid, credentials.psk);
|
| +}
|
| +
|
| +void MockWifiManager::CallConfigureAndConnectNetworkCallback(bool success) {
|
| + configure_and_connect_network_callback_.Run(success);
|
| +}
|
| +
|
| +void MockWifiManager::ConnectToNetworkByID(const std::string& internal_id,
|
| + const SuccessCallback& callback) {
|
| + connect_by_id_callback_ = callback;
|
| + ConnectToNetworkByIDInternal(internal_id);
|
| +}
|
| +
|
| +void MockWifiManager::CallConnectToNetworkByIDCallback(bool success) {
|
| + connect_by_id_callback_.Run(success);
|
| +}
|
| +
|
| +void MockWifiManager::RequestNetworkCredentials(
|
| + const std::string& internal_id,
|
| + const CredentialsCallback& callback) {
|
| + credentials_callback_ = callback;
|
| + RequestNetworkCredentialsInternal(internal_id);
|
| +}
|
| +
|
| +void MockWifiManager::CallRequestNetworkCredentialsCallback(
|
| + bool success,
|
| + const std::string& ssid,
|
| + const std::string& password) {
|
| + credentials_callback_.Run(success, ssid, password);
|
| +}
|
| +
|
| +scoped_ptr<NetworkListWatcher> MockWifiManager::CreateNetworkListWatcher(
|
| + const SSIDListCallback& callback) {
|
| + return scoped_ptr<NetworkListWatcher>(
|
| + new MockNetworkWatcher(callback, weak_factory_.GetWeakPtr()));
|
| +}
|
| +
|
| +void MockWifiManager::CallNetworkWatchers(
|
| + const std::vector<NetworkProperties>& ssids) {
|
| + FOR_EACH_OBSERVER(MockNetworkWatcher, network_observers_, RunCallback(ssids));
|
| +}
|
| +
|
| +void MockWifiManager::AddWatcher(MockNetworkWatcher* observer) {
|
| + network_observers_.AddObserver(observer);
|
| +}
|
| +
|
| +void MockWifiManager::RemoveWatcher(MockNetworkWatcher* observer) {
|
| + network_observers_.RemoveObserver(observer);
|
| +}
|
| +
|
| +MockWifiManagerFactory::MockWifiManagerFactory() {
|
| + WifiManager::SetFactory(this);
|
| +}
|
| +
|
| +MockWifiManagerFactory::~MockWifiManagerFactory() {
|
| + WifiManager::SetFactory(NULL);
|
| +}
|
| +
|
| +scoped_ptr<WifiManager> MockWifiManagerFactory::CreateWifiManager() {
|
| + last_created_manager_ = new MockWifiManager();
|
| +
|
| + return scoped_ptr<WifiManager>(last_created_manager_);
|
| +}
|
| +
|
| +} // namespace wifi
|
| +
|
| +} // namespace local_discovery
|
|
|