Index: net/base/tcp_listen_socket.h |
diff --git a/net/base/tcp_listen_socket.h b/net/base/tcp_listen_socket.h |
index 0e42299431ae01248bc75dd80946b483e933b47c..6691b5f8d818b5e2fbdf6221f6837358ee8f3071 100644 |
--- a/net/base/tcp_listen_socket.h |
+++ b/net/base/tcp_listen_socket.h |
@@ -24,6 +24,8 @@ class NET_EXPORT TCPListenSocket : public StreamListenSocket { |
const std::string& ip, int port, StreamListenSocket::Delegate* del); |
protected: |
+ friend class scoped_refptr<TCPListenSocket>; |
+ |
TCPListenSocket(SOCKET s, StreamListenSocket::Delegate* del); |
virtual ~TCPListenSocket(); |
@@ -36,6 +38,23 @@ class NET_EXPORT TCPListenSocket : public StreamListenSocket { |
DISALLOW_COPY_AND_ASSIGN(TCPListenSocket); |
}; |
+// Factory that can be used to instantiate TCPListenSocket. |
+class NET_EXPORT TCPListenSocketFactory : public StreamListenSocketFactory { |
+ public: |
+ TCPListenSocketFactory(const std::string& ip, int port); |
+ virtual ~TCPListenSocketFactory(); |
+ |
+ // StreamListenSocketFactory overrides. |
+ virtual scoped_refptr<StreamListenSocket> CreateAndListen( |
+ StreamListenSocket::Delegate* delegate) const OVERRIDE; |
+ |
+ private: |
+ const std::string ip_; |
+ const int port_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TCPListenSocketFactory); |
+}; |
+ |
} // namespace net |
#endif // NET_BASE_TCP_LISTEN_SOCKET_H_ |