summaryrefslogtreecommitdiffstats
path: root/ppapi/shared_impl/private
diff options
context:
space:
mode:
authorygorshenin@chromium.org <ygorshenin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-05 11:59:42 +0000
committerygorshenin@chromium.org <ygorshenin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-05 11:59:42 +0000
commit1f9ed196023f3e80c4d7582f5f5b2b0f100bec6b (patch)
treee47509a4d22ba7e144e60d747f56d81736547c15 /ppapi/shared_impl/private
parentc81c89f54c6030200de49aa191e4be579a898dca (diff)
downloadchromium_src-1f9ed196023f3e80c4d7582f5f5b2b0f100bec6b.zip
chromium_src-1f9ed196023f3e80c4d7582f5f5b2b0f100bec6b.tar.gz
chromium_src-1f9ed196023f3e80c4d7582f5f5b2b0f100bec6b.tar.bz2
Switched proxy for TCPServerSocketPrivate.
BUG=230784 TEST=browser_tests:*TCPServerSocketPrivate Review URL: https://chromiumcodereview.appspot.com/19005006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215597 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/private')
-rw-r--r--ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc121
-rw-r--r--ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h84
2 files changed, 0 insertions, 205 deletions
diff --git a/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc b/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc
deleted file mode 100644
index 11add89..0000000
--- a/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.cc
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (c) 2012 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.
-
-#include "ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h"
-
-#include <cstddef>
-#include <cstring>
-
-#include "base/logging.h"
-#include "ppapi/c/pp_errors.h"
-#include "ppapi/shared_impl/private/net_address_private_impl.h"
-
-namespace ppapi {
-
-PPB_TCPServerSocket_Shared::PPB_TCPServerSocket_Shared(PP_Instance instance)
- : Resource(OBJECT_IS_IMPL, instance),
- socket_id_(0),
- local_addr_(),
- state_(BEFORE_LISTENING),
- tcp_socket_buffer_(NULL) {
-}
-
-PPB_TCPServerSocket_Shared::PPB_TCPServerSocket_Shared(
- const HostResource& resource)
- : Resource(OBJECT_IS_PROXY, resource),
- socket_id_(0),
- local_addr_(),
- state_(BEFORE_LISTENING),
- tcp_socket_buffer_(NULL) {
-}
-
-PPB_TCPServerSocket_Shared::~PPB_TCPServerSocket_Shared() {
-}
-
-thunk::PPB_TCPServerSocket_Private_API*
-PPB_TCPServerSocket_Shared::AsPPB_TCPServerSocket_Private_API() {
- return this;
-}
-
-int32_t PPB_TCPServerSocket_Shared::Listen(
- const PP_NetAddress_Private* addr,
- int32_t backlog,
- scoped_refptr<TrackedCallback> callback) {
- if (!addr)
- return PP_ERROR_BADARGUMENT;
- if (state_ != BEFORE_LISTENING)
- return PP_ERROR_FAILED;
- if (TrackedCallback::IsPending(listen_callback_))
- return PP_ERROR_INPROGRESS; // Can only have one pending request.
-
- listen_callback_ = callback;
- // Send the request, the browser will call us back via ListenACK
- SendListen(*addr, backlog);
- return PP_OK_COMPLETIONPENDING;
-}
-
-int32_t PPB_TCPServerSocket_Shared::Accept(
- PP_Resource* tcp_socket,
- scoped_refptr<TrackedCallback> callback) {
- if (!tcp_socket)
- return PP_ERROR_BADARGUMENT;
-
- if (state_ != LISTENING)
- return PP_ERROR_FAILED;
- if (TrackedCallback::IsPending(accept_callback_))
- return PP_ERROR_INPROGRESS;
-
- tcp_socket_buffer_ = tcp_socket;
- accept_callback_ = callback;
-
- SendAccept();
- return PP_OK_COMPLETIONPENDING;
-}
-
-int32_t PPB_TCPServerSocket_Shared::GetLocalAddress(
- PP_NetAddress_Private* addr) {
- if (!addr)
- return PP_ERROR_BADARGUMENT;
- if (state_ != LISTENING)
- return PP_ERROR_FAILED;
- *addr = local_addr_;
- return PP_OK;
-}
-
-void PPB_TCPServerSocket_Shared::StopListening() {
- if (state_ == CLOSED)
- return;
-
- state_ = CLOSED;
-
- SendStopListening();
- socket_id_ = 0;
-
- if (TrackedCallback::IsPending(listen_callback_))
- listen_callback_->PostAbort();
- if (TrackedCallback::IsPending(accept_callback_))
- accept_callback_->PostAbort();
- tcp_socket_buffer_ = NULL;
-}
-
-void PPB_TCPServerSocket_Shared::OnListenCompleted(
- uint32 socket_id,
- const PP_NetAddress_Private& local_addr,
- int32_t status) {
- if (state_ != BEFORE_LISTENING ||
- !TrackedCallback::IsPending(listen_callback_)) {
- NOTREACHED();
- return;
- }
-
- if (status == PP_OK) {
- socket_id_ = socket_id;
- local_addr_ = local_addr;
- state_ = LISTENING;
- }
-
- listen_callback_->Run(status);
-}
-
-} // namespace ppapi
diff --git a/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h b/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h
deleted file mode 100644
index 29d14a2..0000000
--- a/ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright (c) 2012 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_SHARED_IMPL_PRIVATE_PPB_TCP_SERVER_SOCKET_SHARED_H_
-#define PPAPI_SHARED_IMPL_PRIVATE_PPB_TCP_SERVER_SOCKET_SHARED_H_
-
-#include "base/compiler_specific.h"
-#include "ppapi/c/pp_completion_callback.h"
-#include "ppapi/shared_impl/resource.h"
-#include "ppapi/shared_impl/tracked_callback.h"
-#include "ppapi/thunk/ppb_tcp_server_socket_private_api.h"
-
-namespace ppapi {
-
-// This class provides the shared implementation of a
-// PPB_TCPServerSocket_Private. The functions that actually send
-// messages to browser are implemented differently for the proxied and
-// non-proxied derived classes.
-class PPAPI_SHARED_EXPORT PPB_TCPServerSocket_Shared
- : public thunk::PPB_TCPServerSocket_Private_API,
- public Resource {
- public:
- // C-tor used in Impl case.
- PPB_TCPServerSocket_Shared(PP_Instance instance);
- // C-tor used in Proxy case.
- PPB_TCPServerSocket_Shared(const HostResource& resource);
-
- virtual ~PPB_TCPServerSocket_Shared();
-
- // Resource overrides.
- virtual PPB_TCPServerSocket_Private_API*
- AsPPB_TCPServerSocket_Private_API() OVERRIDE;
-
- // PPB_TCPServerSocket_Private_API implementation.
- virtual int32_t Listen(const PP_NetAddress_Private* addr,
- int32_t backlog,
- scoped_refptr<TrackedCallback> callback) OVERRIDE;
- virtual int32_t Accept(PP_Resource* tcp_socket,
- scoped_refptr<TrackedCallback> callback) OVERRIDE;
- virtual int32_t GetLocalAddress(PP_NetAddress_Private* addr) OVERRIDE;
- virtual void StopListening() OVERRIDE;
-
- void OnListenCompleted(uint32 socket_id,
- const PP_NetAddress_Private& local_addr,
- int32_t status);
- virtual void OnAcceptCompleted(bool succeeded,
- uint32 accepted_socket_id,
- const PP_NetAddress_Private& local_addr,
- const PP_NetAddress_Private& remote_addr) = 0;
-
- // Send functions that need to be implemented differently for the
- // proxied and non-proxied derived classes.
- virtual void SendListen(const PP_NetAddress_Private& addr,
- int32_t backlog) = 0;
- virtual void SendAccept() = 0;
- virtual void SendStopListening() = 0;
-
- protected:
- enum State {
- // Before listening (including a listen request is pending or a
- // previous listen request failed).
- BEFORE_LISTENING,
- // Socket is successfully bound and in listening mode.
- LISTENING,
- // The socket is closed.
- CLOSED
- };
-
- uint32 socket_id_;
- PP_NetAddress_Private local_addr_;
- State state_;
-
- scoped_refptr<TrackedCallback> listen_callback_;
- scoped_refptr<TrackedCallback> accept_callback_;
-
- PP_Resource* tcp_socket_buffer_;
-
- DISALLOW_COPY_AND_ASSIGN(PPB_TCPServerSocket_Shared);
-};
-
-} // namespace ppapi
-
-#endif // PPAPI_SHARED_IMPL_PRIVATE_PPB_TCP_SERVER_SOCKET_SHARED_H_