| OLD | NEW |
| 1 // Copyright (c) 2010 The Native Client Authors. All rights reserved. | 1 // Copyright (c) 2010 The Native Client Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "native_client/src/include/portability.h" | 5 #include "native_client/src/include/portability.h" |
| 6 #include "native_client/src/shared/ppapi_proxy/browser_globals.h" | 6 #include "native_client/src/shared/ppapi_proxy/browser_globals.h" |
| 7 #include "srpcgen/ppb_rpc.h" | 7 #include "srpcgen/ppb_rpc.h" |
| 8 | 8 |
| 9 // | 9 // |
| 10 // The following methods are the SRPC dispatchers for ppapi/c/ppb_core.h. | 10 // The following methods are the SRPC dispatchers for ppapi/c/ppb_core.h. |
| 11 // | 11 // |
| 12 | 12 |
| 13 void PpbCoreRpcServer::PPB_Core_AddRefResource(NaClSrpcRpc* rpc, | 13 void PpbCoreRpcServer::PPB_Core_AddRefResource(NaClSrpcRpc* rpc, |
| 14 NaClSrpcClosure* done, | 14 NaClSrpcClosure* done, |
| 15 int64_t resource) { | 15 PP_Resource resource) { |
| 16 NaClSrpcClosureRunner runner(done); | 16 NaClSrpcClosureRunner runner(done); |
| 17 ppapi_proxy::PPBCoreInterface()->AddRefResource(resource); | 17 ppapi_proxy::PPBCoreInterface()->AddRefResource(resource); |
| 18 rpc->result = NACL_SRPC_RESULT_OK; | 18 rpc->result = NACL_SRPC_RESULT_OK; |
| 19 } | 19 } |
| 20 | 20 |
| 21 void PpbCoreRpcServer::PPB_Core_ReleaseResource(NaClSrpcRpc* rpc, | 21 void PpbCoreRpcServer::PPB_Core_ReleaseResource(NaClSrpcRpc* rpc, |
| 22 NaClSrpcClosure* done, | 22 NaClSrpcClosure* done, |
| 23 int64_t resource) { | 23 PP_Resource resource) { |
| 24 NaClSrpcClosureRunner runner(done); | 24 NaClSrpcClosureRunner runner(done); |
| 25 ppapi_proxy::PPBCoreInterface()->ReleaseResource(resource); | 25 ppapi_proxy::PPBCoreInterface()->ReleaseResource(resource); |
| 26 rpc->result = NACL_SRPC_RESULT_OK; | 26 rpc->result = NACL_SRPC_RESULT_OK; |
| 27 } | 27 } |
| 28 | 28 |
| 29 // MemAlloc and MemFree are handled locally to the plugin, and do not need a | 29 // MemAlloc and MemFree are handled locally to the plugin, and do not need a |
| 30 // browser stub. | 30 // browser stub. |
| 31 | 31 |
| 32 void PpbCoreRpcServer::PPB_Core_GetTime(NaClSrpcRpc* rpc, | 32 void PpbCoreRpcServer::PPB_Core_GetTime(NaClSrpcRpc* rpc, |
| 33 NaClSrpcClosure* done, | 33 NaClSrpcClosure* done, |
| 34 double* time) { | 34 double* time) { |
| 35 NaClSrpcClosureRunner runner(done); | 35 NaClSrpcClosureRunner runner(done); |
| 36 *time = ppapi_proxy::PPBCoreInterface()->GetTime(); | 36 *time = ppapi_proxy::PPBCoreInterface()->GetTime(); |
| 37 rpc->result = NACL_SRPC_RESULT_OK; | 37 rpc->result = NACL_SRPC_RESULT_OK; |
| 38 } | 38 } |
| 39 | 39 |
| 40 // Release multiple references at once. | 40 // Release multiple references at once. |
| 41 void PpbCoreRpcServer::ReleaseResourceMultipleTimes(NaClSrpcRpc* rpc, | 41 void PpbCoreRpcServer::ReleaseResourceMultipleTimes(NaClSrpcRpc* rpc, |
| 42 NaClSrpcClosure* done, | 42 NaClSrpcClosure* done, |
| 43 int64_t resource, | 43 PP_Resource resource, |
| 44 int32_t count) { | 44 int32_t count) { |
| 45 NaClSrpcClosureRunner runner(done); | 45 NaClSrpcClosureRunner runner(done); |
| 46 while (count--) | 46 while (count--) |
| 47 ppapi_proxy::PPBCoreInterface()->ReleaseResource(resource); | 47 ppapi_proxy::PPBCoreInterface()->ReleaseResource(resource); |
| 48 rpc->result = NACL_SRPC_RESULT_OK; | 48 rpc->result = NACL_SRPC_RESULT_OK; |
| 49 } | 49 } |
| 50 | 50 |
| 51 | 51 |
| 52 // CallOnMainThread is handled on the upcall thread, where another RPC service | 52 // CallOnMainThread is handled on the upcall thread, where another RPC service |
| 53 // is exported. | 53 // is exported. |
| 54 // | 54 // |
| 55 // IsMainThread is handled locally to the plugin, and does not need a browser | 55 // IsMainThread is handled locally to the plugin, and does not need a browser |
| 56 // stub. | 56 // stub. |
| OLD | NEW |