blob: b4b124b447d205955430c0c782506f9ac3a8921e [file] [log] [blame]
Paul Stewartdd60e452011-08-08 11:38:36 -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_RTNL_HANDLER_H_
6#define SHILL_MOCK_RTNL_HANDLER_H_
7
Darin Petkovef34f182011-08-26 14:14:40 -07008#include <base/basictypes.h>
Paul Stewartdd60e452011-08-08 11:38:36 -07009#include <gmock/gmock.h>
10
11#include "shill/rtnl_handler.h"
12
13namespace shill {
14
15class MockRTNLHandler : public RTNLHandler {
16 public:
Darin Petkovef34f182011-08-26 14:14:40 -070017 MockRTNLHandler();
18 virtual ~MockRTNLHandler();
19
Paul Stewartdd60e452011-08-08 11:38:36 -070020 MOCK_METHOD2(Start, void(EventDispatcher *dispatcher, Sockets *sockets));
21 MOCK_METHOD1(AddListener, void(RTNLListener *to_add));
22 MOCK_METHOD1(RemoveListener, void(RTNLListener *to_remove));
23 MOCK_METHOD3(SetInterfaceFlags, void(int interface_index,
24 unsigned int flags,
25 unsigned int change));
26 MOCK_METHOD2(AddInterfaceAddress, bool(int interface_index,
27 const IPConfig &config));
28 MOCK_METHOD2(RemoveInterfaceAddress, bool(int interface_index,
29 const IPConfig &config));
30 MOCK_METHOD1(RequestDump, void(int request_flags));
31 MOCK_METHOD1(GetInterfaceIndex, int(const std::string &interface_name));
32 MOCK_METHOD1(SendMessage, bool(RTNLMessage *message));
Darin Petkovef34f182011-08-26 14:14:40 -070033
34 private:
35 DISALLOW_COPY_AND_ASSIGN(MockRTNLHandler);
Paul Stewartdd60e452011-08-08 11:38:36 -070036};
37
38} // namespace shill
39
40#endif // SHILL_MOCK_RTNL_HANDLER_H_