Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(876)

Unified Diff: src/trusted/plugin/srpc/connected_socket.cc

Issue 2981011: Move plugin/srpc contents to the more appropriately named plugin/common.... (Closed) Base URL: http://nativeclient.googlecode.com/svn/trunk/src/native_client/
Patch Set: '' Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/trusted/plugin/srpc/connected_socket.h ('k') | src/trusted/plugin/srpc/desc_based_handle.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/trusted/plugin/srpc/connected_socket.cc
===================================================================
--- src/trusted/plugin/srpc/connected_socket.cc (revision 2716)
+++ src/trusted/plugin/srpc/connected_socket.cc (working copy)
@@ -1,135 +0,0 @@
-/*
- * Copyright 2008 The Native Client 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 <signal.h>
-#include <string.h>
-
-#include "native_client/src/shared/platform/nacl_sync.h"
-#include "native_client/src/shared/platform/nacl_threads.h"
-
-#include "native_client/src/trusted/desc/nacl_desc_imc.h"
-
-#include "native_client/src/trusted/plugin/srpc/connected_socket.h"
-#include "native_client/src/trusted/plugin/srpc/plugin.h"
-#include "native_client/src/trusted/plugin/srpc/srpc_client.h"
-#include "native_client/src/trusted/plugin/srpc/utility.h"
-#include "native_client/src/trusted/plugin/npapi/video.h"
-
-namespace {
-
-PLUGIN_JMPBUF socket_env;
-
-void SignalHandler(int value) {
- PLUGIN_PRINTF(("ConnectedSocket::SignalHandler()\n"));
-
- PLUGIN_LONGJMP(socket_env, value);
-}
-
-} // namespace
-
-namespace plugin {
-
-// ConnectedSocket implements a method for each method exported from
-// the NaCl service runtime
-bool ConnectedSocket::InvokeEx(uintptr_t method_id,
- CallType call_type,
- SrpcParams *params) {
- // All ConnectedSocket does for dynamic calls
- // is forward it to the SrpcClient object
- PLUGIN_PRINTF(("ConnectedSocket::InvokeEx()\n"));
- if (srpc_client_)
- return srpc_client_->Invoke(method_id, params);
- return PortableHandle::InvokeEx(method_id, call_type, params);
-}
-
-bool ConnectedSocket::HasMethodEx(uintptr_t method_id, CallType call_type) {
- if (srpc_client_ && (METHOD_CALL == call_type))
- return srpc_client_->HasMethod(method_id);
- return PortableHandle::HasMethodEx(method_id, call_type);
-}
-
-bool ConnectedSocket::InitParamsEx(uintptr_t method_id,
- CallType call_type,
- SrpcParams *params) {
- UNREFERENCED_PARAMETER(call_type);
- if (srpc_client_) {
- return srpc_client_->InitParams(method_id, params);
- }
- return false;
-}
-
-void ConnectedSocket::StartJSObjectProxy(Plugin* plugin) {
- if (srpc_client_) {
- srpc_client_->StartJSObjectProxy(plugin);
- }
-}
-
-ConnectedSocket* ConnectedSocket::New(Plugin* plugin,
- nacl::DescWrapper* desc) {
- PLUGIN_PRINTF(("ConnectedSocket::New()\n"));
-
- ConnectedSocket* connected_socket = new(std::nothrow) ConnectedSocket();
-
- if (connected_socket == NULL ||
- !connected_socket->Init(plugin, desc)) {
- // Ok to delete if NULL.
- delete connected_socket;
- return NULL;
- }
-
- return connected_socket;
-}
-
-bool ConnectedSocket::Init(Plugin* plugin,
- nacl::DescWrapper* wrapper) {
- // TODO(sehr): this lock seems like it should be movable to PluginNpapi.
- VideoScopedGlobalLock video_lock;
-
- if (!DescBasedHandle::Init(plugin, wrapper)) {
- PLUGIN_PRINTF(("ConnectedSocket::Init - DescBasedHandle::Init failed\n"));
- return false;
- }
-
- PLUGIN_PRINTF(("ConnectedSocket::Init(%p, %p)\n",
- static_cast<void*>(plugin),
- static_cast<void*>(wrapper)));
-
- // Get SRPC client interface going over socket. Only the JavaScript main
- // channel may use proxied NPAPI (not the command channels).
- srpc_client_ = new(std::nothrow) SrpcClient();
- if (NULL == srpc_client_) {
- // Return an error.
- // TODO(sehr): make sure that clients check for this as well.
- // BUG: This leaks socket.
- PLUGIN_PRINTF(("ConnectedSocket::Init -- new failed.\n"));
- return false;
- }
- if (!srpc_client_->Init(browser_interface(), this)) {
- delete srpc_client_;
- srpc_client_ = NULL;
- // BUG: This leaks socket.
- PLUGIN_PRINTF(("ConnectedSocket::Init -- SrpcClient::Init failed.\n"));
- return false;
- }
- return true;
-}
-
-ConnectedSocket::ConnectedSocket()
- : srpc_client_(NULL) {
- PLUGIN_PRINTF(("ConnectedSocket::ConnectedSocket(%p)\n",
- static_cast<void*>(this)));
-}
-
-ConnectedSocket::~ConnectedSocket() {
- PLUGIN_PRINTF(("ConnectedSocket::~ConnectedSocket(%p)\n",
- static_cast<void*>(this)));
-
- // Free the SRPC connection.
- delete srpc_client_;
-}
-
-} // namespace plugin
« no previous file with comments | « src/trusted/plugin/srpc/connected_socket.h ('k') | src/trusted/plugin/srpc/desc_based_handle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698