diff options
author | Andras Becsi <andras.becsi@digia.com> | 2013-12-11 21:33:03 +0100 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2013-12-13 12:34:07 +0100 |
commit | f2a33ff9cbc6d19943f1c7fbddd1f23d23975577 (patch) | |
tree | 0586a32aa390ade8557dfd6b4897f43a07449578 /chromium/ppapi/proxy/tcp_socket_resource.h | |
parent | 5362912cdb5eea702b68ebe23702468d17c3017a (diff) | |
download | qtwebengine-chromium-f2a33ff9cbc6d19943f1c7fbddd1f23d23975577.tar.gz |
Update Chromium to branch 1650 (31.0.1650.63)
Change-Id: I57d8c832eaec1eb2364e0a8e7352a6dd354db99f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'chromium/ppapi/proxy/tcp_socket_resource.h')
-rw-r--r-- | chromium/ppapi/proxy/tcp_socket_resource.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/chromium/ppapi/proxy/tcp_socket_resource.h b/chromium/ppapi/proxy/tcp_socket_resource.h new file mode 100644 index 00000000000..5dbfdd54a57 --- /dev/null +++ b/chromium/ppapi/proxy/tcp_socket_resource.h @@ -0,0 +1,74 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PPAPI_PROXY_TCP_SOCKET_RESOURCE_H_ +#define PPAPI_PROXY_TCP_SOCKET_RESOURCE_H_ + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "ppapi/proxy/tcp_socket_resource_base.h" +#include "ppapi/thunk/ppb_tcp_socket_api.h" + +namespace ppapi { + +enum TCPSocketVersion; + +namespace proxy { + +class PPAPI_PROXY_EXPORT TCPSocketResource : public thunk::PPB_TCPSocket_API, + public TCPSocketResourceBase { + public: + // C-tor used for new sockets created. + TCPSocketResource(Connection connection, + PP_Instance instance, + TCPSocketVersion version); + + virtual ~TCPSocketResource(); + + // PluginResource overrides. + virtual thunk::PPB_TCPSocket_API* AsPPB_TCPSocket_API() OVERRIDE; + + // thunk::PPB_TCPSocket_API implementation. + virtual int32_t Bind(PP_Resource addr, + scoped_refptr<TrackedCallback> callback) OVERRIDE; + virtual int32_t Connect(PP_Resource addr, + scoped_refptr<TrackedCallback> callback) OVERRIDE; + virtual PP_Resource GetLocalAddress() OVERRIDE; + virtual PP_Resource GetRemoteAddress() OVERRIDE; + virtual int32_t Read(char* buffer, + int32_t bytes_to_read, + scoped_refptr<TrackedCallback> callback) OVERRIDE; + virtual int32_t Write(const char* buffer, + int32_t bytes_to_write, + scoped_refptr<TrackedCallback> callback) OVERRIDE; + virtual int32_t Listen(int32_t backlog, + scoped_refptr<TrackedCallback> callback) OVERRIDE; + virtual int32_t Accept(PP_Resource* accepted_tcp_socket, + scoped_refptr<TrackedCallback> callback) OVERRIDE; + virtual void Close() OVERRIDE; + virtual int32_t SetOption(PP_TCPSocket_Option name, + const PP_Var& value, + scoped_refptr<TrackedCallback> callback) OVERRIDE; + + // TCPSocketResourceBase implementation. + virtual PP_Resource CreateAcceptedSocket( + int pending_host_id, + const PP_NetAddress_Private& local_addr, + const PP_NetAddress_Private& remote_addr) OVERRIDE; + + private: + // C-tor used for accepted sockets. + TCPSocketResource(Connection connection, + PP_Instance instance, + int pending_host_id, + const PP_NetAddress_Private& local_addr, + const PP_NetAddress_Private& remote_addr); + + DISALLOW_COPY_AND_ASSIGN(TCPSocketResource); +}; + +} // namespace proxy +} // namespace ppapi + +#endif // PPAPI_PROXY_TCP_SOCKET_RESOURCE_H_ |