blob: a5b14c4f7ba3fe62173f1f8aa6f84e81f8c4fb6a [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
Hristo Stefanoved2c28c2011-11-29 15:37:30 -08008#include <string>
9
Darin Petkovef34f182011-08-26 14:14:40 -070010#include <base/basictypes.h>
Paul Stewartdd60e452011-08-08 11:38:36 -070011#include <gmock/gmock.h>
12
13#include "shill/rtnl_handler.h"
14
15namespace shill {
16
17class MockRTNLHandler : public RTNLHandler {
18 public:
Darin Petkovef34f182011-08-26 14:14:40 -070019 MockRTNLHandler();
20 virtual ~MockRTNLHandler();
21
Paul Stewartdd60e452011-08-08 11:38:36 -070022 MOCK_METHOD2(Start, void(EventDispatcher *dispatcher, Sockets *sockets));
23 MOCK_METHOD1(AddListener, void(RTNLListener *to_add));
24 MOCK_METHOD1(RemoveListener, void(RTNLListener *to_remove));
25 MOCK_METHOD3(SetInterfaceFlags, void(int interface_index,
26 unsigned int flags,
27 unsigned int change));
Paul Stewart48100b02012-03-19 07:53:52 -070028 MOCK_METHOD4(AddInterfaceAddress, bool(int interface_index,
Paul Stewart9a908082011-08-31 12:18:48 -070029 const IPAddress &local,
Paul Stewart48100b02012-03-19 07:53:52 -070030 const IPAddress &broadcast,
31 const IPAddress &peer));
Paul Stewartdd60e452011-08-08 11:38:36 -070032 MOCK_METHOD2(RemoveInterfaceAddress, bool(int interface_index,
Paul Stewart9a908082011-08-31 12:18:48 -070033 const IPAddress &local));
Paul Stewartdd60e452011-08-08 11:38:36 -070034 MOCK_METHOD1(RequestDump, void(int request_flags));
35 MOCK_METHOD1(GetInterfaceIndex, int(const std::string &interface_name));
36 MOCK_METHOD1(SendMessage, bool(RTNLMessage *message));
Darin Petkovef34f182011-08-26 14:14:40 -070037
38 private:
39 DISALLOW_COPY_AND_ASSIGN(MockRTNLHandler);
Paul Stewartdd60e452011-08-08 11:38:36 -070040};
41
42} // namespace shill
43
44#endif // SHILL_MOCK_RTNL_HANDLER_H_