blob: d08299ad232923f37831fb06cf6cbdb20c6cd43f [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
8#include <gmock/gmock.h>
9
10#include "shill/rtnl_handler.h"
11
12namespace shill {
13
14class MockRTNLHandler : public RTNLHandler {
15 public:
16 MOCK_METHOD2(Start, void(EventDispatcher *dispatcher, Sockets *sockets));
17 MOCK_METHOD1(AddListener, void(RTNLListener *to_add));
18 MOCK_METHOD1(RemoveListener, void(RTNLListener *to_remove));
19 MOCK_METHOD3(SetInterfaceFlags, void(int interface_index,
20 unsigned int flags,
21 unsigned int change));
22 MOCK_METHOD2(AddInterfaceAddress, bool(int interface_index,
23 const IPConfig &config));
24 MOCK_METHOD2(RemoveInterfaceAddress, bool(int interface_index,
25 const IPConfig &config));
26 MOCK_METHOD1(RequestDump, void(int request_flags));
27 MOCK_METHOD1(GetInterfaceIndex, int(const std::string &interface_name));
28 MOCK_METHOD1(SendMessage, bool(RTNLMessage *message));
29};
30
31} // namespace shill
32
33#endif // SHILL_MOCK_RTNL_HANDLER_H_