Index: ppapi/native_client/src/trusted/plugin/srpc_params.cc |
diff --git a/ppapi/native_client/src/trusted/plugin/srpc_params.cc b/ppapi/native_client/src/trusted/plugin/srpc_params.cc |
deleted file mode 100644 |
index 593fe94dc8494b44408eec7ffa912d857996f901..0000000000000000000000000000000000000000 |
--- a/ppapi/native_client/src/trusted/plugin/srpc_params.cc |
+++ /dev/null |
@@ -1,119 +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/native_client/src/trusted/plugin/srpc_params.h" |
- |
-#include <stdlib.h> |
- |
-#include "native_client/src/shared/srpc/nacl_srpc.h" |
- |
- |
-namespace plugin { |
- |
-namespace { |
- |
-bool FillVec(NaClSrpcArg* vec[], const char* types) { |
- const size_t kLength = strlen(types); |
- if (kLength > NACL_SRPC_MAX_ARGS) { |
- return false; |
- } |
- // We use malloc/new here rather than new/delete, because the SRPC layer |
- // is written in C and hence will use malloc/free. |
- // This array will get deallocated by FreeArguments(). |
- if (kLength > 0) { |
- NaClSrpcArg* args = |
- reinterpret_cast<NaClSrpcArg*>(malloc(kLength * sizeof(*args))); |
- if (NULL == args) { |
- return false; |
- } |
- |
- memset(static_cast<void*>(args), 0, kLength * sizeof(*args)); |
- for (size_t i = 0; i < kLength; ++i) { |
- vec[i] = &args[i]; |
- args[i].tag = static_cast<NaClSrpcArgType>(types[i]); |
- } |
- } |
- vec[kLength] = NULL; |
- return true; |
-} |
- |
-void FreeSrpcArg(NaClSrpcArg* arg) { |
- switch (arg->tag) { |
- case NACL_SRPC_ARG_TYPE_CHAR_ARRAY: |
- free(arg->arrays.carr); |
- break; |
- case NACL_SRPC_ARG_TYPE_DOUBLE_ARRAY: |
- free(arg->arrays.darr); |
- break; |
- case NACL_SRPC_ARG_TYPE_HANDLE: |
- break; |
- case NACL_SRPC_ARG_TYPE_INT_ARRAY: |
- free(arg->arrays.iarr); |
- break; |
- case NACL_SRPC_ARG_TYPE_LONG_ARRAY: |
- free(arg->arrays.larr); |
- break; |
- case NACL_SRPC_ARG_TYPE_STRING: |
- // All strings that are passed in SrpcArg must be allocated using |
- // malloc! We cannot use browser's allocation API |
- // since some of SRPC arguments is handled outside of the plugin code. |
- free(arg->arrays.str); |
- break; |
- case NACL_SRPC_ARG_TYPE_VARIANT_ARRAY: |
- if (arg->arrays.varr) { |
- for (uint32_t i = 0; i < arg->u.count; i++) { |
- FreeSrpcArg(&arg->arrays.varr[i]); |
- } |
- } |
- break; |
- case NACL_SRPC_ARG_TYPE_OBJECT: |
- // This is a pointer to a scriptable object and should be released |
- // by the browser |
- break; |
- case NACL_SRPC_ARG_TYPE_BOOL: |
- case NACL_SRPC_ARG_TYPE_DOUBLE: |
- case NACL_SRPC_ARG_TYPE_INT: |
- case NACL_SRPC_ARG_TYPE_LONG: |
- case NACL_SRPC_ARG_TYPE_INVALID: |
- default: |
- break; |
- } |
-} |
- |
-void FreeArguments(NaClSrpcArg* vec[]) { |
- if (NULL == vec[0]) { |
- return; |
- } |
- for (NaClSrpcArg** argp = vec; *argp; ++argp) { |
- FreeSrpcArg(*argp); |
- } |
- // Free the vector containing the arguments themselves that was |
- // allocated with FillVec(). |
- free(vec[0]); |
-} |
- |
-} // namespace |
- |
-bool SrpcParams::Init(const char* in_types, const char* out_types) { |
- if (!FillVec(ins_, in_types)) { |
- return false; |
- } |
- if (!FillVec(outs_, out_types)) { |
- FreeArguments(ins_); |
- return false; |
- } |
- return true; |
-} |
- |
-void SrpcParams::FreeAll() { |
- FreeArguments(ins_); |
- FreeArguments(outs_); |
- memset(ins_, 0, sizeof(ins_)); |
- memset(outs_, 0, sizeof(outs_)); |
-} |
- |
-} // namespace plugin |