| // Copyright (c) 2019 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef QUICHE_QUIC_QBONE_PLATFORM_MOCK_NETLINK_H_ | |
| #define QUICHE_QUIC_QBONE_PLATFORM_MOCK_NETLINK_H_ | |
| #include "net/third_party/quiche/src/quic/platform/api/quic_test.h" | |
| #include "net/third_party/quiche/src/quic/qbone/platform/netlink_interface.h" | |
| namespace quic { | |
| class MockNetlink : public NetlinkInterface { | |
| public: | |
| MOCK_METHOD2(GetLinkInfo, bool(const string&, LinkInfo*)); | |
| MOCK_METHOD4(GetAddresses, | |
| bool(int, uint8_t, std::vector<AddressInfo>*, int*)); | |
| MOCK_METHOD7(ChangeLocalAddress, | |
| bool(uint32_t, | |
| Verb, | |
| const QuicIpAddress&, | |
| uint8_t, | |
| uint8_t, | |
| uint8_t, | |
| const std::vector<struct rtattr*>&)); | |
| MOCK_METHOD1(GetRouteInfo, bool(std::vector<RoutingRule>*)); | |
| MOCK_METHOD6( | |
| ChangeRoute, | |
| bool(Verb, uint32_t, const IpRange&, uint8_t, QuicIpAddress, int32_t)); | |
| MOCK_METHOD1(GetRuleInfo, bool(std::vector<IpRule>*)); | |
| MOCK_METHOD3(ChangeRule, bool(Verb, uint32_t, IpRange)); | |
| MOCK_METHOD2(Send, bool(struct iovec*, size_t)); | |
| MOCK_METHOD2(Recv, bool(uint32_t, NetlinkParserInterface*)); | |
| }; | |
| } // namespace quic | |
| #endif // QUICHE_QUIC_QBONE_PLATFORM_MOCK_NETLINK_H_ |