// 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. #ifndef CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_MOCK_WIFI_MANAGER_H_ #define CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_MOCK_WIFI_MANAGER_H_ #include "base/observer_list.h" #include "chrome/browser/local_discovery/wifi/wifi_manager.h" #include "testing/gmock/include/gmock/gmock.h" namespace local_discovery { namespace wifi { class MockWifiManager : public WifiManager { public: MockWifiManager(); ~MockWifiManager(); MOCK_METHOD0(Start, void()); virtual void GetSSIDList(const SSIDListCallback& callback) OVERRIDE; MOCK_METHOD0(GetSSIDListInternal, void()); void CallSSIDListCallback(const std::vector<NetworkProperties>& networks); MOCK_METHOD0(RequestScan, void()); virtual void ConfigureAndConnectNetwork( const std::string& ssid, const WifiCredentials& credentials, const SuccessCallback& callback) OVERRIDE; MOCK_METHOD2(ConfigureAndConnectNetworkInternal, void(const std::string& ssid, const std::string& password)); void CallConfigureAndConnectNetworkCallback(bool success); virtual void ConnectToNetworkByID(const std::string& internal_id, const SuccessCallback& callback) OVERRIDE; MOCK_METHOD1(ConnectToNetworkByIDInternal, void(const std::string& internal_id)); void CallConnectToNetworkByIDCallback(bool success); virtual void RequestNetworkCredentials( const std::string& internal_id, const CredentialsCallback& callback) OVERRIDE; MOCK_METHOD1(RequestNetworkCredentialsInternal, void(const std::string& internal_id)); void CallRequestNetworkCredentialsCallback(bool success, const std::string& ssid, const std::string& password); void AddNetworkListObserver(NetworkListObserver* observer); void RemoveNetworkListObserver(NetworkListObserver* observer); void CallNetworkListObservers(const std::vector<NetworkProperties>& ssids); private: SSIDListCallback ssid_list_callback_; SuccessCallback configure_and_connect_network_callback_; SuccessCallback connect_by_id_callback_; CredentialsCallback credentials_callback_; ObserverList<NetworkListObserver> network_observers_; base::WeakPtrFactory<MockWifiManager> weak_factory_; }; class MockWifiManagerFactory : public WifiManagerFactory { public: MockWifiManagerFactory(); virtual ~MockWifiManagerFactory(); virtual scoped_ptr<WifiManager> CreateWifiManager() OVERRIDE; MockWifiManager* GetLastCreatedWifiManager(); MOCK_METHOD0(WifiManagerCreated, void()); private: MockWifiManager* last_created_manager_; }; } // namespace wifi } // namespace local_discovery #endif // CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_MOCK_WIFI_MANAGER_H_