Index: src/trusted/plugin/pnacl_srpc_lib.cc |
diff --git a/src/trusted/plugin/pnacl_srpc_lib.cc b/src/trusted/plugin/pnacl_srpc_lib.cc |
deleted file mode 100644 |
index dbddd698e77a00751e1c2588c9860970d5bfd63a..0000000000000000000000000000000000000000 |
--- a/src/trusted/plugin/pnacl_srpc_lib.cc |
+++ /dev/null |
@@ -1,111 +0,0 @@ |
-// Copyright (c) 2011 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 "native_client/src/trusted/plugin/pnacl_srpc_lib.h" |
- |
-#include <stdarg.h> |
- |
-#include "native_client/src/trusted/plugin/browser_interface.h" |
-#include "native_client/src/trusted/plugin/method_map.h" |
-#include "native_client/src/trusted/plugin/nacl_subprocess.h" |
- |
-namespace plugin { |
- |
-bool PnaclSrpcLib::InvokeSrpcMethod(BrowserInterface* browser_interface, |
- const NaClSubprocess* subprocess, |
- const nacl::string& method_name, |
- const nacl::string& input_signature, |
- SrpcParams* params, |
- ...) { |
- va_list vl; |
- va_start(vl, params); |
- bool result = VInvokeSrpcMethod(browser_interface, |
- subprocess, |
- method_name, |
- input_signature, |
- params, |
- vl); |
- va_end(vl); |
- return result; |
-} |
- |
-bool PnaclSrpcLib::VInvokeSrpcMethod(BrowserInterface* browser_interface, |
- const NaClSubprocess* subprocess, |
- const nacl::string& method_name, |
- const nacl::string& input_signature, |
- SrpcParams* params, |
- va_list vl) { |
- uintptr_t kMethodIdent; |
- if (!SetupSrpcInvocation(browser_interface, |
- subprocess, |
- method_name, |
- params, |
- &kMethodIdent)) { |
- return false; |
- } |
- |
- // Set up inputs. |
- for (size_t i = 0; i < input_signature.length(); ++i) { |
- char c = input_signature[i]; |
- // Only handle the limited number of SRPC types used for PNaCl. |
- // Add more as needed. |
- switch (c) { |
- default: |
- PLUGIN_PRINTF(("PnaclSrpcLib::InvokeSrpcMethod unhandled type: %c\n", |
- c)); |
- return false; |
- case NACL_SRPC_ARG_TYPE_BOOL: { |
- int input = va_arg(vl, int); |
- params->ins()[i]->u.bval = input; |
- break; |
- } |
- case NACL_SRPC_ARG_TYPE_DOUBLE: { |
- double input = va_arg(vl, double); |
- params->ins()[i]->u.dval = input; |
- break; |
- } |
- case NACL_SRPC_ARG_TYPE_CHAR_ARRAY: { |
- // SrpcParam's destructor *should* free the dup'ed string. |
- const char* orig_str = va_arg(vl, const char*); |
- char* input = strdup(orig_str); |
- params->ins()[i]->arrays.str = input; |
- break; |
- } |
- case NACL_SRPC_ARG_TYPE_HANDLE: { |
- NaClSrpcImcDescType input = va_arg(vl, NaClSrpcImcDescType); |
- params->ins()[i]->u.hval = input; |
- break; |
- } |
- case NACL_SRPC_ARG_TYPE_INT: { |
- int32_t input = va_arg(vl, int32_t); |
- params->ins()[i]->u.ival = input; |
- break; |
- } |
- case NACL_SRPC_ARG_TYPE_LONG: { |
- int64_t input = va_arg(vl, int64_t); |
- params->ins()[i]->u.lval = input; |
- break; |
- } |
- } |
- } |
- |
- return subprocess->Invoke(kMethodIdent, params); |
-} |
- |
- |
-bool PnaclSrpcLib::SetupSrpcInvocation(BrowserInterface* browser_interface, |
- const NaClSubprocess* subprocess, |
- const nacl::string& method_name, |
- SrpcParams* params, |
- uintptr_t* kMethodIdent) { |
- *kMethodIdent = browser_interface->StringToIdentifier(method_name); |
- if (!(subprocess->HasMethod(*kMethodIdent))) { |
- PLUGIN_PRINTF(("SetupSrpcInvocation (no %s method found)\n", |
- method_name.c_str())); |
- return false; |
- } |
- return subprocess->InitParams(*kMethodIdent, params); |
-} |
- |
-} // namespace plugin |