blob: 4d054f17eb674abd86af0dadb715015b780b3679 [file] [log] [blame]
Chris Masone9be4a9d2011-05-16 15:44:09 -07001// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
2// 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_DEVICE_
6#define SHILL_MOCK_DEVICE_
7
Chris Masone46eaaf52011-05-24 13:08:30 -07008#include <string>
9
Chris Masone9be4a9d2011-05-16 15:44:09 -070010#include <base/memory/ref_counted.h>
11#include <gmock/gmock.h>
12
13#include "shill/device.h"
14
15namespace shill {
16
17class ControlInterface;
18class EventDispatcher;
19
Chris Masone9be4a9d2011-05-16 15:44:09 -070020class MockDevice : public Device {
21 public:
Chris Masone9be4a9d2011-05-16 15:44:09 -070022 MockDevice(ControlInterface *control_interface,
Paul Stewartb50f0b92011-05-16 16:31:42 -070023 EventDispatcher *dispatcher,
Chris Masonea82b7112011-05-25 15:16:29 -070024 Manager *manager,
25 const std::string &link_name,
26 int interface_index);
27 virtual ~MockDevice();
Chris Masone9be4a9d2011-05-16 15:44:09 -070028
29 MOCK_METHOD0(Start, void(void));
30 MOCK_METHOD0(Stop, void(void));
31 MOCK_METHOD1(TechnologyIs, bool(Technology));
32
33 private:
34 DISALLOW_COPY_AND_ASSIGN(MockDevice);
35};
36
37} // namespace shill
38
39#endif // SHILL_MOCK_DEVICE_