blob: 0832fab802759a5cec7f3afcb78a565d11d118bc [file] [log] [blame]
Thieu Le3426c8f2012-01-11 17:35:11 -08001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Chris Masone9be4a9d2011-05-16 15:44:09 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Ben Chanc45688b2014-07-02 23:50:45 -07005#ifndef SHILL_MOCK_DEVICE_H_
6#define SHILL_MOCK_DEVICE_H_
Chris Masone9be4a9d2011-05-16 15:44:09 -07007
Chris Masone46eaaf52011-05-24 13:08:30 -07008#include <string>
Alex Vakulenko8a532292014-06-16 17:18:44 -07009#include <vector>
Chris Masone46eaaf52011-05-24 13:08:30 -070010
Chris Masone9be4a9d2011-05-16 15:44:09 -070011#include <base/memory/ref_counted.h>
12#include <gmock/gmock.h>
13
14#include "shill/device.h"
Paul Stewart7de7e022013-08-28 09:42:50 -070015#include "shill/geolocation_info.h"
Chris Masone9be4a9d2011-05-16 15:44:09 -070016
17namespace shill {
18
Chris Masone9be4a9d2011-05-16 15:44:09 -070019class MockDevice : public Device {
20 public:
Paul Stewart1e006c62015-06-16 12:29:06 -070021 MockDevice(ControlInterface* control_interface,
22 EventDispatcher* dispatcher,
23 Metrics* metrics,
24 Manager* manager,
25 const std::string& link_name,
26 const std::string& address,
Chris Masonea82b7112011-05-25 15:16:29 -070027 int interface_index);
Ben Chan5ea763b2014-08-13 11:07:54 -070028 ~MockDevice() override;
Chris Masone9be4a9d2011-05-16 15:44:09 -070029
Paul Stewart1e006c62015-06-16 12:29:06 -070030 MOCK_METHOD2(Start, void(Error* error,
31 const EnabledStateChangedCallback& callback));
32 MOCK_METHOD2(Stop, void(Error* error,
33 const EnabledStateChangedCallback& callback));
Eric Shienbrood9a245532012-03-07 14:20:39 -050034 MOCK_METHOD1(SetEnabled, void(bool));
Jason Glasgowdf7c5532012-05-14 14:41:45 -040035 MOCK_METHOD3(SetEnabledPersistent, void(bool enable,
36 Error* error,
Paul Stewart1e006c62015-06-16 12:29:06 -070037 const ResultCallback& callback));
38 MOCK_METHOD3(Scan, void(Device::ScanType scan_type, Error* error,
39 const std::string& reason));
40 MOCK_METHOD1(Load, bool(StoreInterface* storage));
41 MOCK_METHOD1(Save, bool(StoreInterface* storage));
Paul Stewart2bf1d352011-12-06 15:02:55 -080042 MOCK_METHOD0(DisableIPv6, void());
43 MOCK_METHOD0(EnableIPv6, void());
44 MOCK_METHOD0(EnableIPv6Privacy, void());
Paul Stewart2cb3fa72014-11-13 01:43:12 -080045 MOCK_METHOD1(SetLooseRouting, void(bool));
46 MOCK_METHOD1(SetIsMultiHomed, void(bool is_multi_homed));
Paul Stewartd215af62012-04-24 23:25:50 -070047 MOCK_METHOD0(RestartPortalDetection, bool());
Paul Stewartc681fa02012-03-02 19:40:04 -080048 MOCK_METHOD0(RequestPortalDetection, bool());
Ben Chan7fab8972014-08-10 17:14:46 -070049 MOCK_METHOD0(GetReceiveByteCount, uint64_t());
50 MOCK_METHOD0(GetTransmitByteCount, uint64_t());
Paul Stewart1e006c62015-06-16 12:29:06 -070051 MOCK_CONST_METHOD1(IsConnectedToService, bool(const ServiceRefPtr& service));
Gaurav Shah435de2c2011-11-17 19:01:07 -080052 MOCK_CONST_METHOD0(technology, Technology::Identifier());
Paul Stewart1e006c62015-06-16 12:29:06 -070053 MOCK_METHOD1(OnBeforeSuspend, void(const ResultCallback& callback));
54 MOCK_METHOD1(OnDarkResume, void(const ResultCallback& callback));
mukesh agrawal784566d2012-08-08 18:32:58 -070055 MOCK_METHOD0(OnAfterResume, void());
Paul Stewart8596f9f2013-03-14 07:58:26 -070056 MOCK_METHOD0(OnConnectionUpdated, void());
Paul Stewartd55f6ae2014-04-24 16:34:21 -070057 MOCK_METHOD0(OnIPv6AddressChanged, void());
Paul Stewart7de7e022013-08-28 09:42:50 -070058 MOCK_CONST_METHOD0(GetGeolocationObjects, std::vector<GeolocationInfo>());
Peter Qiu98551702014-07-28 13:28:53 -070059 MOCK_METHOD0(OnIPv6DnsServerAddressesChanged, void());
Rebecca Silbersteinf4365a62014-09-16 11:40:32 -070060 MOCK_METHOD0(StartConnectivityTest, bool());
Paul Stewart1e006c62015-06-16 12:29:06 -070061 MOCK_CONST_METHOD0(connection, const ConnectionRefPtr&());
Chris Masone9be4a9d2011-05-16 15:44:09 -070062
63 private:
64 DISALLOW_COPY_AND_ASSIGN(MockDevice);
65};
66
67} // namespace shill
68
Ben Chanc45688b2014-07-02 23:50:45 -070069#endif // SHILL_MOCK_DEVICE_H_