blob: 1afd37e4051f48f1426c0e4e636756d61efa1a9b [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_ROUTING_TABLE_H_
6#define SHILL_MOCK_ROUTING_TABLE_H_
7
Darin Petkoveac68e62011-08-26 16:24:51 -07008#include <base/basictypes.h>
Paul Stewartdd60e452011-08-08 11:38:36 -07009#include <gmock/gmock.h>
10
11#include "shill/routing_table.h"
12
13namespace shill {
14
15class MockRoutingTable : public RoutingTable {
16 public:
Darin Petkoveac68e62011-08-26 16:24:51 -070017 MockRoutingTable();
18 virtual ~MockRoutingTable();
19
Paul Stewartdd60e452011-08-08 11:38:36 -070020 MOCK_METHOD0(Start, void());
21 MOCK_METHOD0(Stop, void());
22 MOCK_METHOD2(AddRoute, bool(int interface_index,
23 const RoutingTableEntry &entry));
24 MOCK_METHOD3(GetDefaultRoute, bool(int interface_index,
25 IPAddress::Family family,
26 RoutingTableEntry *entry));
27 MOCK_METHOD3(SetDefaultRoute, bool(int interface_index,
28 const IPConfigRefPtr &ipconfig,
29 uint32 metric));
30 MOCK_METHOD1(FlushRoutes, void(int interface_index));
31 MOCK_METHOD1(ResetTable, void(int interface_index));
32 MOCK_METHOD2(SetDefaultMetric, void(int interface_index, uint32 metric));
Darin Petkoveac68e62011-08-26 16:24:51 -070033
34 private:
35 DISALLOW_COPY_AND_ASSIGN(MockRoutingTable);
Paul Stewartdd60e452011-08-08 11:38:36 -070036};
37
38} // namespace shill
39
40#endif // SHILL_MOCK_ROUTING_TABLE_H_