blob: f366e7f5d1f4c52ba4e35f0f50a7c55aba6b80e4 [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
Darin Petkovef34f182011-08-26 14:14:40 -07008#include <base/basictypes.h>
Darin Petkov633ac6f2011-07-08 13:56:13 -07009#include <gmock/gmock.h>
10
11#include "shill/sockets.h"
12
13namespace shill {
14
15class MockSockets : public Sockets {
16 public:
Darin Petkovef34f182011-08-26 14:14:40 -070017 MockSockets();
18 virtual ~MockSockets();
19
Paul Stewartf65320c2011-10-13 14:34:52 -070020 MOCK_METHOD3(Accept,
21 int(int sockfd, struct sockaddr *addr, socklen_t *addrlen));
Paul Stewartac1328e2012-07-20 11:55:40 -070022 MOCK_METHOD2(AttachFilter, int(int sockfd, struct sock_fprog *pf));
Darin Petkov633ac6f2011-07-08 13:56:13 -070023 MOCK_METHOD3(Bind,
24 int(int sockfd, const struct sockaddr *addr, socklen_t addrlen));
Paul Stewartf65320c2011-10-13 14:34:52 -070025 MOCK_METHOD2(BindToDevice, int(int sockfd, const std::string &device));
Darin Petkov633ac6f2011-07-08 13:56:13 -070026 MOCK_METHOD1(Close, int(int fd));
Paul Stewartf65320c2011-10-13 14:34:52 -070027 MOCK_METHOD3(Connect,
28 int(int sockfd, const struct sockaddr *addr, socklen_t addrlen));
29 MOCK_METHOD0(Error, int());
30 MOCK_METHOD3(GetSockName,
31 int(int sockfd, struct sockaddr *addr, socklen_t *addrlen));
32 MOCK_METHOD1(GetSocketError, int(int fd));
Darin Petkove0a312e2011-07-20 13:45:28 -070033 MOCK_METHOD3(Ioctl, int(int d, int request, void *argp));
Paul Stewartf65320c2011-10-13 14:34:52 -070034 MOCK_METHOD2(Listen, int(int d, int backlog));
Paul Stewartac1328e2012-07-20 11:55:40 -070035 MOCK_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));
Darin Petkov633ac6f2011-07-08 13:56:13 -070041 MOCK_METHOD4(Send,
42 ssize_t(int sockfd, const void *buf, size_t len, int flags));
43 MOCK_METHOD6(SendTo, ssize_t(int sockfd,
44 const void *buf,
45 size_t len,
46 int flags,
47 const struct sockaddr *dest_addr,
48 socklen_t addrlen));
Paul Stewartf65320c2011-10-13 14:34:52 -070049 MOCK_METHOD1(SetNonBlocking, int(int sockfd));
Darin Petkov633ac6f2011-07-08 13:56:13 -070050 MOCK_METHOD3(Socket, int(int domain, int type, int protocol));
Darin Petkovef34f182011-08-26 14:14:40 -070051
52 private:
53 DISALLOW_COPY_AND_ASSIGN(MockSockets);
Darin Petkov633ac6f2011-07-08 13:56:13 -070054};
55
56} // namespace shill
57
58#endif // SHILL_MOCK_SOCKETS_H_