Thieu Le | caef893 | 2012-02-28 16:06:59 -0800 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
Paul Stewart | dd60e45 | 2011-08-08 11:38:36 -0700 | [diff] [blame] | 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 | |
Ben Chan | cc67c52 | 2014-09-03 07:19:18 -0700 | [diff] [blame] | 8 | #include <base/macros.h> |
Paul Stewart | dd60e45 | 2011-08-08 11:38:36 -0700 | [diff] [blame] | 9 | #include <gmock/gmock.h> |
| 10 | |
| 11 | #include "shill/routing_table.h" |
| 12 | |
| 13 | namespace shill { |
| 14 | |
| 15 | class MockRoutingTable : public RoutingTable { |
| 16 | public: |
Darin Petkov | eac68e6 | 2011-08-26 16:24:51 -0700 | [diff] [blame] | 17 | MockRoutingTable(); |
Ben Chan | 5ea763b | 2014-08-13 11:07:54 -0700 | [diff] [blame] | 18 | ~MockRoutingTable() override; |
Darin Petkov | eac68e6 | 2011-08-26 16:24:51 -0700 | [diff] [blame] | 19 | |
Paul Stewart | dd60e45 | 2011-08-08 11:38:36 -0700 | [diff] [blame] | 20 | MOCK_METHOD0(Start, void()); |
| 21 | MOCK_METHOD0(Stop, void()); |
| 22 | MOCK_METHOD2(AddRoute, bool(int interface_index, |
Paul Stewart | 1e006c6 | 2015-06-16 12:29:06 -0700 | [diff] [blame] | 23 | const RoutingTableEntry& entry)); |
Paul Stewart | dd60e45 | 2011-08-08 11:38:36 -0700 | [diff] [blame] | 24 | MOCK_METHOD3(GetDefaultRoute, bool(int interface_index, |
| 25 | IPAddress::Family family, |
Paul Stewart | 1e006c6 | 2015-06-16 12:29:06 -0700 | [diff] [blame] | 26 | RoutingTableEntry* entry)); |
Prabhu Kaliamoorthi | 762bfb8 | 2015-02-06 13:17:08 +0100 | [diff] [blame] | 27 | MOCK_METHOD4(SetDefaultRoute, bool(int interface_index, |
Paul Stewart | 1e006c6 | 2015-06-16 12:29:06 -0700 | [diff] [blame] | 28 | const IPAddress& gateway_address, |
Prabhu Kaliamoorthi | 762bfb8 | 2015-02-06 13:17:08 +0100 | [diff] [blame] | 29 | uint32_t metric, |
| 30 | uint8_t table)); |
| 31 | MOCK_METHOD4(ConfigureRoutes, bool(int interface_index, |
Paul Stewart | 1e006c6 | 2015-06-16 12:29:06 -0700 | [diff] [blame] | 32 | const IPConfigRefPtr& ipconfig, |
Prabhu Kaliamoorthi | 762bfb8 | 2015-02-06 13:17:08 +0100 | [diff] [blame] | 33 | uint32_t metric, |
| 34 | uint8_t table)); |
| 35 | MOCK_METHOD4(CreateBlackholeRoute, bool(int interface_index, |
Ben Chan | a6bfe87 | 2012-09-26 09:48:34 -0700 | [diff] [blame] | 36 | IPAddress::Family family, |
Prabhu Kaliamoorthi | 762bfb8 | 2015-02-06 13:17:08 +0100 | [diff] [blame] | 37 | uint32_t metric, |
| 38 | uint8_t table)); |
| 39 | MOCK_METHOD4(CreateLinkRoute, bool(int interface_index, |
Paul Stewart | 1e006c6 | 2015-06-16 12:29:06 -0700 | [diff] [blame] | 40 | const IPAddress& local_address, |
| 41 | const IPAddress& remote_address, |
Prabhu Kaliamoorthi | 762bfb8 | 2015-02-06 13:17:08 +0100 | [diff] [blame] | 42 | uint8_t table)); |
Thieu Le | fb46caf | 2012-03-08 11:57:15 -0800 | [diff] [blame] | 43 | MOCK_METHOD1(FlushRoutes, void(int interface_index)); |
Paul Stewart | e93b038 | 2012-04-24 13:11:28 -0700 | [diff] [blame] | 44 | MOCK_METHOD1(FlushRoutesWithTag, void(int tag)); |
Paul Stewart | c8f4bef | 2011-12-13 09:45:51 -0800 | [diff] [blame] | 45 | MOCK_METHOD0(FlushCache, bool()); |
Paul Stewart | dd60e45 | 2011-08-08 11:38:36 -0700 | [diff] [blame] | 46 | MOCK_METHOD1(ResetTable, void(int interface_index)); |
Ben Chan | 7fab897 | 2014-08-10 17:14:46 -0700 | [diff] [blame] | 47 | MOCK_METHOD2(SetDefaultMetric, void(int interface_index, uint32_t metric)); |
Paul Stewart | 1e006c6 | 2015-06-16 12:29:06 -0700 | [diff] [blame] | 48 | MOCK_METHOD5(RequestRouteToHost, bool(const IPAddress& addresss, |
Paul Stewart | e93b038 | 2012-04-24 13:11:28 -0700 | [diff] [blame] | 49 | int interface_index, |
Darin Petkov | abf6d28 | 2012-05-08 15:49:05 +0200 | [diff] [blame] | 50 | int tag, |
Paul Stewart | 1e006c6 | 2015-06-16 12:29:06 -0700 | [diff] [blame] | 51 | const Query::Callback& callback, |
Prabhu Kaliamoorthi | 762bfb8 | 2015-02-06 13:17:08 +0100 | [diff] [blame] | 52 | uint8_t table)); |
Darin Petkov | eac68e6 | 2011-08-26 16:24:51 -0700 | [diff] [blame] | 53 | |
| 54 | private: |
| 55 | DISALLOW_COPY_AND_ASSIGN(MockRoutingTable); |
Paul Stewart | dd60e45 | 2011-08-08 11:38:36 -0700 | [diff] [blame] | 56 | }; |
| 57 | |
| 58 | } // namespace shill |
| 59 | |
| 60 | #endif // SHILL_MOCK_ROUTING_TABLE_H_ |