| Index: chrome/browser/extensions/api/socket/socket.h
|
| diff --git a/chrome/browser/extensions/api/socket/socket.h b/chrome/browser/extensions/api/socket/socket.h
|
| index 27e2685fe505d91410a9ef07c4bfc338a6abb1d3..bc1e398a82d203339bebd91474d1423618291a0e 100644
|
| --- a/chrome/browser/extensions/api/socket/socket.h
|
| +++ b/chrome/browser/extensions/api/socket/socket.h
|
| @@ -15,6 +15,7 @@
|
| #include "net/base/completion_callback.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/ip_endpoint.h"
|
| +#include "net/socket/tcp_client_socket.h"
|
|
|
| namespace net {
|
| class AddressList;
|
| @@ -30,6 +31,8 @@ typedef base::Callback<void(int, scoped_refptr<net::IOBuffer> io_buffer)>
|
| typedef base::Callback<
|
| void(int, scoped_refptr<net::IOBuffer> io_buffer, const std::string&, int)>
|
| RecvFromCompletionCallback;
|
| +typedef base::Callback<
|
| + void(int, net::TCPClientSocket*)> AcceptCompletionCallback;
|
|
|
| // A Socket wraps a low-level socket and includes housekeeping information that
|
| // we need to manage it in the context of an extension.
|
| @@ -68,11 +71,15 @@ class Socket : public ApiResource {
|
|
|
| virtual bool SetKeepAlive(bool enable, int delay);
|
| virtual bool SetNoDelay(bool no_delay);
|
| + virtual int Listen(int backlog, std::string* error_msg);
|
| + virtual void Accept(const AcceptCompletionCallback &callback);
|
|
|
| bool IsConnected();
|
|
|
| virtual bool GetPeerAddress(net::IPEndPoint* address) = 0;
|
| virtual bool GetLocalAddress(net::IPEndPoint* address) = 0;
|
| + // Used to check for API permission to listen on this address for TCP sockets.
|
| + virtual bool GetBindAddress(net::IPEndPoint* address);
|
|
|
| virtual SocketType GetSocketType() const = 0;
|
|
|
|
|