| Index: chrome/browser/extensions/api/socket/tcp_socket.h
|
| diff --git a/chrome/browser/extensions/api/socket/tcp_socket.h b/chrome/browser/extensions/api/socket/tcp_socket.h
|
| index 7f677487b82478b6fc3497b4dd4aebe111ec87a2..518537384dfb36c822cf06c5f6e8d8b4ac352e22 100644
|
| --- a/chrome/browser/extensions/api/socket/tcp_socket.h
|
| +++ b/chrome/browser/extensions/api/socket/tcp_socket.h
|
| @@ -12,6 +12,7 @@
|
| // This looks like it should be forward-declarable, but it does some tricky
|
| // moves that make it easier to just include it.
|
| #include "net/socket/tcp_client_socket.h"
|
| +#include "net/socket/tcp_server_socket.h"
|
|
|
| namespace net {
|
| class Socket;
|
| @@ -24,6 +25,8 @@ class ApiResourceEventNotifier;
|
| class TCPSocket : public Socket {
|
| public:
|
| explicit TCPSocket(ApiResourceEventNotifier* event_notifier);
|
| + explicit TCPSocket(ApiResourceEventNotifier* event_notifier,
|
| + net::TCPClientSocket* client_socket);
|
| virtual ~TCPSocket();
|
|
|
| virtual void Connect(const std::string& address,
|
| @@ -42,6 +45,9 @@ class TCPSocket : public Socket {
|
| const CompletionCallback& callback) OVERRIDE;
|
| virtual bool SetKeepAlive(bool enable, int delay) OVERRIDE;
|
| virtual bool SetNoDelay(bool no_delay) OVERRIDE;
|
| + virtual bool Listen(int backlog) OVERRIDE;
|
| + virtual void Accept(const AcceptCompletionCallback &callback) OVERRIDE;
|
| +
|
| virtual bool IsTCPSocket() OVERRIDE;
|
| virtual bool GetPeerAddress(net::IPEndPoint* address) OVERRIDE;
|
| virtual bool GetLocalAddress(net::IPEndPoint* address) OVERRIDE;
|
| @@ -59,15 +65,24 @@ class TCPSocket : public Socket {
|
| void OnConnectComplete(int result);
|
| void OnReadComplete(scoped_refptr<net::IOBuffer> io_buffer,
|
| int result);
|
| + void OnAccept(int result);
|
|
|
| TCPSocket(net::TCPClientSocket* tcp_client_socket,
|
| ApiResourceEventNotifier* event_notifier);
|
|
|
| scoped_ptr<net::TCPClientSocket> socket_;
|
| + scoped_ptr<net::TCPServerSocket> server_socket_;
|
| + scoped_ptr<net::IPEndPoint> bind_address_;
|
| +
|
| + bool is_client_socket_;
|
| + bool is_server_socket_;
|
|
|
| CompletionCallback connect_callback_;
|
|
|
| ReadCompletionCallback read_callback_;
|
| +
|
| + scoped_ptr<net::StreamSocket> accept_socket_;
|
| + AcceptCompletionCallback accept_callback_;
|
| };
|
|
|
| } // namespace extensions
|
|
|