blob: b91af4617d0f92e024477ab22f351e45ed20bb2d [file] [log] [blame]
mukesh agrawal8a3188d2011-12-01 20:56:44 +00001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
mukesh agrawal7a4e4002011-09-06 11:26:05 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SHILL_MOCK_WIFI_
6#define SHILL_MOCK_WIFI_
7
Hristo Stefanoved2c28c2011-11-29 15:37:30 -08008#include <map>
mukesh agrawal7a4e4002011-09-06 11:26:05 -07009#include <string>
10
11#include <base/memory/ref_counted.h>
12#include <gmock/gmock.h>
13
14#include "shill/key_value_store.h"
15#include "shill/refptr_types.h"
16#include "shill/wifi.h"
17#include "shill/wifi_service.h"
18
19namespace shill {
20
21class ControlInterface;
22class Error;
23class EventDispatcher;
24
25class MockWiFi : public WiFi {
26 public:
27 MockWiFi(ControlInterface *control_interface,
28 EventDispatcher *dispatcher,
Thieu Le3426c8f2012-01-11 17:35:11 -080029 Metrics *metrics,
mukesh agrawal7a4e4002011-09-06 11:26:05 -070030 Manager *manager,
31 const std::string &link_name,
32 const std::string &address,
33 int interface_index);
34 virtual ~MockWiFi();
35
36 MOCK_METHOD0(Start, void());
37 MOCK_METHOD0(Stop, void());
38 MOCK_METHOD1(Scan, void(Error *error));
39 MOCK_METHOD2(GetService,
40 WiFiServiceRefPtr(const KeyValueStore &args, Error *error));
Paul Stewart66c86002012-01-30 18:00:52 -080041 MOCK_METHOD0(ClearCachedCredentials, void());
mukesh agrawal6e277772011-09-29 15:04:23 -070042 MOCK_METHOD2(ConnectTo,
mukesh agrawal64896322011-12-01 01:13:10 +000043 void(WiFiService *service,
44 std::map<std::string, ::DBus::Variant> service_params));
mukesh agrawal8a3188d2011-12-01 20:56:44 +000045 MOCK_CONST_METHOD0(IsIdle, bool());
mukesh agrawal7a4e4002011-09-06 11:26:05 -070046
47 private:
48 DISALLOW_COPY_AND_ASSIGN(MockWiFi);
49};
50
51} // namespace shill
52
53#endif // SHILL_MOCK_WIFI_