1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef CHROME_BROWSER_CHROMEOS_CROS_MOCK_NETWORK_LIBRARY_H_
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_CHROMEOS_CROS_MOCK_NETWORK_LIBRARY_H_
73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <string>
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/chromeos/cros/network_library.h"
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "testing/gmock/include/gmock/gmock.h"
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace chromeos {
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass MockNetworkLibrary : public NetworkLibrary {
17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public:
18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MockNetworkLibrary() {}
19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual ~MockNetworkLibrary() {}
20513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD1(AddNetworkManagerObserver, void(NetworkManagerObserver*));
21513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD1(RemoveNetworkManagerObserver, void(NetworkManagerObserver*));
22513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD2(AddNetworkObserver, void(const std::string&, NetworkObserver*));
23513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD2(RemoveNetworkObserver, void(const std::string&,
24513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch                                           NetworkObserver*));
25513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD1(RemoveObserverForAllNetworks, void(NetworkObserver*));
26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD2(AddNetworkDeviceObserver, void(const std::string&,
27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                              NetworkDeviceObserver*));
28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD2(RemoveNetworkDeviceObserver, void(const std::string&,
29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                                 NetworkDeviceObserver*));
30513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD1(AddCellularDataPlanObserver, void(CellularDataPlanObserver*));
31513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD1(RemoveCellularDataPlanObserver, void(CellularDataPlanObserver*));
32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(AddPinOperationObserver, void(PinOperationObserver*));
33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(RemovePinOperationObserver, void(PinOperationObserver*));
34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_METHOD1(AddUserActionObserver, void(UserActionObserver*));
35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_METHOD1(RemoveUserActionObserver, void(UserActionObserver*));
3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  MOCK_METHOD0(Lock, void(void));
3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  MOCK_METHOD0(Unlock, void(void));
3872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  MOCK_METHOD0(IsLocked, bool(void));
3921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  MOCK_CONST_METHOD0(ethernet_network, const EthernetNetwork*(void));
40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(ethernet_connecting, bool(void));
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(ethernet_connected, bool(void));
4221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
4321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  MOCK_CONST_METHOD0(wifi_network, const WifiNetwork*(void));
44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(wifi_connecting, bool(void));
45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(wifi_connected, bool(void));
46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
4721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  MOCK_CONST_METHOD0(cellular_network, const CellularNetwork*(void));
48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(cellular_connecting, bool(void));
49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(cellular_connected, bool(void));
50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
51dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD0(virtual_network, const VirtualNetwork*(void));
52dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD0(virtual_network_connecting, bool(void));
53dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD0(virtual_network_connected, bool(void));
54dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(Connected, bool(void));
56c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(Connecting, bool(void));
57c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(IPAddress, const std::string&(void));
59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(wifi_networks, const WifiNetworkVector&(void));
60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(remembered_wifi_networks, const WifiNetworkVector&(void));
61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(cellular_networks, const CellularNetworkVector&(void));
62dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD0(virtual_networks, const VirtualNetworkVector&(void));
63c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
64dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD1(FindNetworkDeviceByPath,
65dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                     NetworkDevice*(const std::string&));
66ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD0(FindCellularDevice, const NetworkDevice*(void));
67ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD0(FindWifiDevice, const NetworkDevice*(void));
68ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD0(FindEthernetDevice, const NetworkDevice*(void));
69ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD1(FindNetworkByPath,
70ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                     Network*(const std::string&));
71dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD1(FindWifiNetworkByPath,
72dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                     WifiNetwork*(const std::string&));
73dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD1(FindCellularNetworkByPath,
74dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                     CellularNetwork*(const std::string&));
75ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD1(FindVirtualNetworkByPath,
76ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                     VirtualNetwork*(const std::string&));
77ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD1(FindNetworkFromRemembered,Network*(const Network*));
78dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD1(GetDataPlans,
79dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                     CellularDataPlanVector*(const std::string&));
80dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MOCK_CONST_METHOD1(GetSignificantDataPlan,
81dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                     CellularDataPlan*(const std::string&));
82c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
83ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD2(ChangePin, void(const std::string&, const std::string&));
84ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD2(ChangeRequirePin, void(bool, const std::string&));
85ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(EnterPin, void(const std::string&));
86ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD2(UnblockPin, void(const std::string&, const std::string&));
87ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
88ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD0(RequestCellularScan, void());
89ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(RequestCellularRegister, void(const std::string&));
90ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(SetCellularDataRoamingAllowed, void(bool));
91ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
92ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD0(RequestNetworkScan, void(void));
93c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD1(GetWifiAccessPoints, bool(WifiAccessPointVector*));
94ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(ConnectToWifiNetwork, void(WifiNetwork*));
95ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(ConnectToWifiNetwork, void(const std::string&));
96ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD5(ConnectToWifiNetwork, void(ConnectionSecurity security,
97c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                                          const std::string&,
98c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                                          const std::string&,
99dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                                          const std::string&,
100dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                                          const std::string&));
101ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(ConnectToCellularNetwork, void(CellularNetwork*));
102ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(ConnectToVirtualNetwork, void(VirtualNetwork*));
103ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD5(ConnectToVirtualNetworkPSK, void(const std::string&,
104ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                                const std::string&,
105ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                                const std::string&,
106ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                                const std::string&,
107ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                                const std::string&));
10872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  MOCK_METHOD0(SignalCellularPlanPayment, void(void));
10972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  MOCK_METHOD0(HasRecentCellularPlanPayment, bool(void));
110731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
111ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD1(DisconnectFromNetwork, void(const Network*));
112513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_METHOD1(ForgetWifiNetwork, void(const std::string&));
113ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD0(GetCellularHomeCarrierId, std::string(void));
114c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
115c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(ethernet_available, bool(void));
116c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(wifi_available, bool(void));
117c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(cellular_available, bool(void));
118c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
119c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(ethernet_enabled, bool(void));
120c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(wifi_enabled, bool(void));
121c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(cellular_enabled, bool(void));
122c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
123201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch  MOCK_CONST_METHOD0(wifi_scanning, bool(void));
124201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
125513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  MOCK_CONST_METHOD0(active_network, const Network*(void));
126ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_CONST_METHOD0(connected_network, const Network*(void));
127ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
128c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_CONST_METHOD0(offline_mode, bool(void));
129c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
130c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD1(EnableEthernetNetworkDevice, void(bool));
131c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD1(EnableWifiNetworkDevice, void(bool));
132c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD1(EnableCellularNetworkDevice, void(bool));
133c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD1(EnableOfflineMode, void(bool));
134ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MOCK_METHOD3(GetIPConfigs, NetworkIPConfigVector(const std::string&,
135ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                                   std::string*,
136ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                                   HardwareAddressFormat));
137c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  MOCK_METHOD1(GetHtmlInfo, std::string(int));
138c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch};
139c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
140c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}  // namespace chromeos
141c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
142c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif  // CHROME_BROWSER_CHROMEOS_CROS_MOCK_NETWORK_LIBRARY_H_
143