blob: f630b7568b4ede3aeb1a74b9c08ee7beb96b062f [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 Stewart9a908082011-08-31 12:18:48 -070028 MOCK_METHOD3(AddInterfaceAddress, bool(int interface_index,
29 const IPAddress &local,
30 const IPAddress &broadcast));
Paul Stewartdd60e452011-08-08 11:38:36 -070031 MOCK_METHOD2(RemoveInterfaceAddress, bool(int interface_index,
Paul Stewart9a908082011-08-31 12:18:48 -070032 const IPAddress &local));
Paul Stewartdd60e452011-08-08 11:38:36 -070033 MOCK_METHOD1(RequestDump, void(int request_flags));
34 MOCK_METHOD1(GetInterfaceIndex, int(const std::string &interface_name));
35 MOCK_METHOD1(SendMessage, bool(RTNLMessage *message));
Darin Petkovef34f182011-08-26 14:14:40 -070036
37 private:
38 DISALLOW_COPY_AND_ASSIGN(MockRTNLHandler);
Paul Stewartdd60e452011-08-08 11:38:36 -070039};
40
41} // namespace shill
42
43#endif // SHILL_MOCK_RTNL_HANDLER_H_