blob: 896859b730fb26fa17fc602ebb2e97b336d291e9 [file] [log] [blame]
Paul Stewartac1328e2012-07-20 11:55:40 -07001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Darin Petkov633ac6f2011-07-08 13:56:13 -07002// 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_SOCKETS_H_
6#define SHILL_MOCK_SOCKETS_H_
7
Wade Guthriefa2100e2013-05-15 10:11:22 -07008#include "shill/sockets.h"
9
Darin Petkovef34f182011-08-26 14:14:40 -070010#include <base/basictypes.h>
Darin Petkov633ac6f2011-07-08 13:56:13 -070011#include <gmock/gmock.h>
12
Darin Petkov633ac6f2011-07-08 13:56:13 -070013namespace shill {
14
15class MockSockets : public Sockets {
16 public:
Darin Petkovef34f182011-08-26 14:14:40 -070017 MockSockets();
18 virtual ~MockSockets();
19
Wade Guthrie9f62cd12013-05-15 10:40:42 -070020 MOCK_CONST_METHOD3(Accept, int(int sockfd, struct sockaddr *addr,
Paul Stewartac1328e2012-07-20 11:55:40 -070021 socklen_t *addrlen));
Wade Guthrie9f62cd12013-05-15 10:40:42 -070022 MOCK_CONST_METHOD2(AttachFilter, int(int sockfd, struct sock_fprog *pf));
23 MOCK_CONST_METHOD3(Bind, int(int sockfd, const struct sockaddr *addr,
Darin Petkov633ac6f2011-07-08 13:56:13 -070024 socklen_t addrlen));
Wade Guthrie9f62cd12013-05-15 10:40:42 -070025 MOCK_CONST_METHOD2(BindToDevice, int(int sockfd, const std::string &device));
26 MOCK_CONST_METHOD1(Close, int(int fd));
27 MOCK_CONST_METHOD3(Connect, int(int sockfd, const struct sockaddr *addr,
28 socklen_t addrlen));
29 MOCK_CONST_METHOD0(Error, int());
30 MOCK_CONST_METHOD3(GetSockName, int(int sockfd, struct sockaddr *addr,
31 socklen_t *addrlen));
32 MOCK_CONST_METHOD1(GetSocketError, int(int fd));
33 MOCK_CONST_METHOD3(Ioctl, int(int d, int request, void *argp));
34 MOCK_CONST_METHOD2(Listen, int(int d, int backlog));
35 MOCK_CONST_METHOD6(RecvFrom, ssize_t(int sockfd,
36 void *buf,
37 size_t len,
38 int flags,
39 struct sockaddr *src_addr,
40 socklen_t *addrlen));
Wade Guthriefa2100e2013-05-15 10:11:22 -070041 MOCK_CONST_METHOD5(Select, int(int nfds,
42 fd_set *readfds,
43 fd_set *writefds,
44 fd_set *exceptfds,
45 struct timeval *timeout));
Wade Guthrie9f62cd12013-05-15 10:40:42 -070046 MOCK_CONST_METHOD4(Send, ssize_t(int sockfd, const void *buf, size_t len,
47 int flags));
48 MOCK_CONST_METHOD6(SendTo, ssize_t(int sockfd,
49 const void *buf,
50 size_t len,
51 int flags,
52 const struct sockaddr *dest_addr,
53 socklen_t addrlen));
54 MOCK_CONST_METHOD1(SetNonBlocking, int(int sockfd));
55 MOCK_CONST_METHOD2(SetReceiveBuffer, int(int sockfd, int size));
56 MOCK_CONST_METHOD2(ShutDown, int(int sockfd, int how));
57 MOCK_CONST_METHOD3(Socket, int(int domain, int type, int protocol));
Darin Petkovef34f182011-08-26 14:14:40 -070058
59 private:
60 DISALLOW_COPY_AND_ASSIGN(MockSockets);
Darin Petkov633ac6f2011-07-08 13:56:13 -070061};
62
63} // namespace shill
64
65#endif // SHILL_MOCK_SOCKETS_H_