blob: b095ce91e9ece4b09758470136803f1f61815f26 [file] [log] [blame]
Darin Petkov633ac6f2011-07-08 13:56:13 -07001// Copyright (c) 2011 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_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));
Darin Petkov633ac6f2011-07-08 13:56:13 -070022 MOCK_METHOD3(Bind,
23 int(int sockfd, const struct sockaddr *addr, socklen_t addrlen));
Paul Stewartf65320c2011-10-13 14:34:52 -070024 MOCK_METHOD2(BindToDevice, int(int sockfd, const std::string &device));
Darin Petkov633ac6f2011-07-08 13:56:13 -070025 MOCK_METHOD1(Close, int(int fd));
Paul Stewartf65320c2011-10-13 14:34:52 -070026 MOCK_METHOD3(Connect,
27 int(int sockfd, const struct sockaddr *addr, socklen_t addrlen));
28 MOCK_METHOD0(Error, int());
29 MOCK_METHOD3(GetSockName,
30 int(int sockfd, struct sockaddr *addr, socklen_t *addrlen));
31 MOCK_METHOD1(GetSocketError, int(int fd));
Darin Petkove0a312e2011-07-20 13:45:28 -070032 MOCK_METHOD3(Ioctl, int(int d, int request, void *argp));
Paul Stewartf65320c2011-10-13 14:34:52 -070033 MOCK_METHOD2(Listen, int(int d, int backlog));
Darin Petkov633ac6f2011-07-08 13:56:13 -070034 MOCK_METHOD4(Send,
35 ssize_t(int sockfd, const void *buf, size_t len, int flags));
36 MOCK_METHOD6(SendTo, ssize_t(int sockfd,
37 const void *buf,
38 size_t len,
39 int flags,
40 const struct sockaddr *dest_addr,
41 socklen_t addrlen));
Paul Stewartf65320c2011-10-13 14:34:52 -070042 MOCK_METHOD1(SetNonBlocking, int(int sockfd));
Darin Petkov633ac6f2011-07-08 13:56:13 -070043 MOCK_METHOD3(Socket, int(int domain, int type, int protocol));
Darin Petkovef34f182011-08-26 14:14:40 -070044
45 private:
46 DISALLOW_COPY_AND_ASSIGN(MockSockets);
Darin Petkov633ac6f2011-07-08 13:56:13 -070047};
48
49} // namespace shill
50
51#endif // SHILL_MOCK_SOCKETS_H_