X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fextensions%2Fbrowser%2Fapi%2Fsocket%2Ftcp_socket.h;h=4b0af13bb1eb0efc9ad549a881af8e5c7fb46c15;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=fbb8c543bcf27d7e214b21006375df63c9c71fb8;hpb=b1be5ca53587d23e7aeb77b26861fdc0a181ffd8;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/extensions/browser/api/socket/tcp_socket.h b/src/extensions/browser/api/socket/tcp_socket.h index fbb8c54..4b0af13 100644 --- a/src/extensions/browser/api/socket/tcp_socket.h +++ b/src/extensions/browser/api/socket/tcp_socket.h @@ -54,6 +54,12 @@ class TCPSocket : public Socket { virtual bool GetPeerAddress(net::IPEndPoint* address) OVERRIDE; virtual bool GetLocalAddress(net::IPEndPoint* address) OVERRIDE; + + // Like Disconnect(), only Release() doesn't delete the underlying stream + // or attempt to close it. Useful when giving away ownership with + // ClientStream(). + virtual void Release(); + virtual Socket::SocketType GetSocketType() const OVERRIDE; static TCPSocket* CreateSocketForTesting( @@ -64,6 +70,13 @@ class TCPSocket : public Socket { net::TCPServerSocket* tcp_server_socket, const std::string& owner_extension_id); + // Returns NULL if GetSocketType() isn't TYPE_TCP or if the connection + // wasn't set up via Connect() (vs Listen()/Accept()). + net::TCPClientSocket* ClientStream(); + + // Whether a Read() has been issued, that hasn't come back yet. + bool HasPendingRead() const; + protected: virtual int WriteImpl(net::IOBuffer* io_buffer, int io_buffer_size,