blob: 2c9a356ed6864ca7f6acff694825cce00c12d118 [file] [log] [blame]
Paul Stewartac1328e2012-07-20 11:55:40 -07001// Copyright (c) 2012 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_ARP_CLIENT_H_
6#define SHILL_MOCK_ARP_CLIENT_H_
7
8#include "shill/arp_client.h"
9
10#include <gmock/gmock.h>
11
12#include "shill/arp_packet.h"
13#include "shill/byte_string.h"
14
15namespace shill {
16
17class MockArpClient : public ArpClient {
18 public:
19 MockArpClient();
Ben Chan5ea763b2014-08-13 11:07:54 -070020 ~MockArpClient() override;
Paul Stewartac1328e2012-07-20 11:55:40 -070021
Paul Stewart417e5f02014-10-09 08:52:35 -070022 MOCK_METHOD0(StartReplyListener, bool());
23 MOCK_METHOD0(StartRequestListener, bool());
Paul Stewartac1328e2012-07-20 11:55:40 -070024 MOCK_METHOD0(Stop, void());
Paul Stewart417e5f02014-10-09 08:52:35 -070025 MOCK_CONST_METHOD2(ReceivePacket, bool(ArpPacket *packet,
26 ByteString *sender));
Paul Stewartac1328e2012-07-20 11:55:40 -070027 MOCK_CONST_METHOD1(TransmitRequest, bool(const ArpPacket &packet));
28 MOCK_CONST_METHOD0(socket, int());
29
30 private:
31 DISALLOW_COPY_AND_ASSIGN(MockArpClient);
32};
33
34} // namespace shill
35
36#endif // SHILL_MOCK_ARP_CLIENT_H_