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

Unified Diff: ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_net_address_private_rpc_server.cc

Issue 9808028: NaCl proxy for PPB_NetAddress_Private_1_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 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 | « chrome/test/ui/ppapi_uitest.cc ('k') | ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_net_address_private_rpc_server.cc
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_net_address_private_rpc_server.cc b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_net_address_private_rpc_server.cc
index f8ca72bd87d23f74d0e56b52ec10b1f72dfd6b78..5a30213add58ad5e00d619dcb040fd7f43bf5adc 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_net_address_private_rpc_server.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_net_address_private_rpc_server.cc
@@ -252,3 +252,87 @@ void PpbNetAddressPrivateRpcServer::PPB_NetAddress_Private_GetAddress(
rpc->result = NACL_SRPC_RESULT_OK;
}
+void PpbNetAddressPrivateRpcServer::PPB_NetAddress_Private_GetScopeID(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ // input
+ nacl_abi_size_t addr_bytes, char* addr,
+ // output
+ int32_t* scope_id) {
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ if (addr_bytes !=
+ static_cast<nacl_abi_size_t>(sizeof(PP_NetAddress_Private))) {
+ return;
+ }
+
+ *scope_id = PPBNetAddressPrivateInterface()->GetScopeID(
+ reinterpret_cast<PP_NetAddress_Private*>(addr));
+
+ DebugPrintf("PPB_NetAddress_Private::GetScopeID\n");
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void
+PpbNetAddressPrivateRpcServer::PPB_NetAddress_Private_CreateFromIPv4Address(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ // input
+ nacl_abi_size_t ip_bytes, char* ip,
+ int32_t port,
+ // output
+ nacl_abi_size_t* addr_bytes, char* addr) {
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ if (ip_bytes != static_cast<nacl_abi_size_t>(4))
+ return;
+ if (port < 0 || port > std::numeric_limits<uint16_t>::max())
+ return;
+ if (*addr_bytes !=
+ static_cast<nacl_abi_size_t>(sizeof(PP_NetAddress_Private))) {
+ return;
+ }
+
+ PPBNetAddressPrivateInterface()->CreateFromIPv4Address(
+ reinterpret_cast<uint8_t*>(addr), static_cast<uint16_t>(port),
+ reinterpret_cast<PP_NetAddress_Private*>(addr));
+
+ DebugPrintf("PPB_NetAddress_Private::CreateFromIPv4Address\n");
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void
+PpbNetAddressPrivateRpcServer::PPB_NetAddress_Private_CreateFromIPv6Address(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ // input
+ nacl_abi_size_t ip_bytes, char* ip,
+ int32_t scope_id,
+ int32_t port,
+ // output
+ nacl_abi_size_t* addr_bytes, char* addr) {
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ if (ip_bytes != static_cast<nacl_abi_size_t>(16))
+ return;
+ if (port < 0 || port > std::numeric_limits<uint16_t>::max())
+ return;
+ if (*addr_bytes !=
+ static_cast<nacl_abi_size_t>(sizeof(PP_NetAddress_Private))) {
+ return;
+ }
+
+ PPBNetAddressPrivateInterface()->CreateFromIPv6Address(
+ reinterpret_cast<uint8_t*>(addr), static_cast<uint32_t>(scope_id),
+ static_cast<uint16_t>(port),
+ reinterpret_cast<PP_NetAddress_Private*>(addr));
+
+ DebugPrintf("PPB_NetAddress_Private::CreateFromIPv6Address\n");
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
« no previous file with comments | « chrome/test/ui/ppapi_uitest.cc ('k') | ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698