summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-10 00:03:15 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-10 00:03:15 +0000
commitf64d3d12f9ce8367f40d31ae3404f45f3c7ed008 (patch)
tree1add4761e39af835552d32e9510c01b6d5614545 /ppapi
parent4f8b560a7a5f8cd6113ddcd125e554859dbf3330 (diff)
downloadchromium_src-f64d3d12f9ce8367f40d31ae3404f45f3c7ed008.zip
chromium_src-f64d3d12f9ce8367f40d31ae3404f45f3c7ed008.tar.gz
chromium_src-f64d3d12f9ce8367f40d31ae3404f45f3c7ed008.tar.bz2
NaCl proxy for PPB_NetworkMonitor_Private
BUG=139965 Review URL: https://chromiumcodereview.appspot.com/10823187 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150946 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/browser_globals.cc14
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/browser_globals.h4
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_list_private_rpc_server.cc177
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_monitor_private_rpc_server.cc90
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/build.scons2
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/nacl.scons2
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb.cc6
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.cc208
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.h24
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.cc128
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.h49
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_tcp_socket_private.cc1
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h1
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy.gyp2
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp4
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppb_network_list_private.srpc68
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppb_network_monitor_private.srpc25
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_client.cc184
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_server.cc157
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppp_network_monitor_private.srpc20
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_client.cc14
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_server.cc16
-rwxr-xr-xppapi/native_client/src/shared/ppapi_proxy/run_srpcgen.py3
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppb_rpc.h75
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppp_rpc.h13
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppb_rpc.h65
-rw-r--r--ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppp_rpc.h14
-rw-r--r--ppapi/ppapi_sources.gypi4
-rw-r--r--ppapi/tests/test_network_monitor_private.cc1
29 files changed, 1367 insertions, 4 deletions
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.cc b/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.cc
index e50b2e6..3214fb4 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.cc
@@ -321,6 +321,20 @@ const PPB_NetAddress_Private* PPBNetAddressPrivateInterface() {
return ppb;
}
+const PPB_NetworkList_Private* PPBNetworkListPrivateInterface() {
+ static const PPB_NetworkList_Private* ppb =
+ static_cast<const PPB_NetworkList_Private*>(
+ GetBrowserInterfaceSafe(PPB_NETWORKLIST_PRIVATE_INTERFACE));
+ return ppb;
+}
+
+const PPB_NetworkMonitor_Private* PPBNetworkMonitorPrivateInterface() {
+ static const PPB_NetworkMonitor_Private* ppb =
+ static_cast<const PPB_NetworkMonitor_Private*>(
+ GetBrowserInterfaceSafe(PPB_NETWORKMONITOR_PRIVATE_INTERFACE));
+ return ppb;
+}
+
const PPB_URLLoader* PPBURLLoaderInterface() {
static const PPB_URLLoader* ppb =
static_cast<const PPB_URLLoader*>(
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.h b/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.h
index d8f37a9..f25656c 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.h
+++ b/ppapi/native_client/src/shared/ppapi_proxy/browser_globals.h
@@ -38,6 +38,8 @@
#include "ppapi/c/ppb_websocket.h"
#include "ppapi/c/private/ppb_host_resolver_private.h"
#include "ppapi/c/private/ppb_net_address_private.h"
+#include "ppapi/c/private/ppb_network_list_private.h"
+#include "ppapi/c/private/ppb_network_monitor_private.h"
#include "ppapi/c/private/ppb_pdf.h"
#include "ppapi/c/private/ppb_tcp_server_socket_private.h"
#include "ppapi/c/private/ppb_tcp_socket_private.h"
@@ -124,6 +126,8 @@ const PPB_MouseInputEvent* PPBMouseInputEventInterface();
const PPB_Messaging* PPBMessagingInterface();
const PPB_MouseLock* PPBMouseLockInterface();
const PPB_NetAddress_Private* PPBNetAddressPrivateInterface();
+const PPB_NetworkList_Private* PPBNetworkListPrivateInterface();
+const PPB_NetworkMonitor_Private* PPBNetworkMonitorPrivateInterface();
const PPB_PDF* PPBPDFInterface();
const PPB_Scrollbar_Dev* PPBScrollbarInterface();
const PPB_TCPServerSocket_Private* PPBTCPServerSocketPrivateInterface();
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_list_private_rpc_server.cc b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_list_private_rpc_server.cc
new file mode 100644
index 0000000..7b1ac72
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_list_private_rpc_server.cc
@@ -0,0 +1,177 @@
+// 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.
+//
+// SRPC-abstraction wrappers around PPB_NetworkList_Private functions.
+
+#include <string.h>
+#include <algorithm>
+#include <limits>
+
+#include "native_client/src/include/nacl_macros.h"
+#include "native_client/src/shared/ppapi_proxy/browser_callback.h"
+#include "native_client/src/shared/ppapi_proxy/browser_globals.h"
+#include "native_client/src/shared/ppapi_proxy/object_serialize.h"
+#include "native_client/src/shared/ppapi_proxy/utility.h"
+#include "ppapi/c/pp_errors.h"
+#include "ppapi/c/private/ppb_udp_socket_private.h"
+#include "srpcgen/ppb_rpc.h"
+
+using ppapi_proxy::DebugPrintf;
+using ppapi_proxy::DeleteRemoteCallbackInfo;
+using ppapi_proxy::MakeRemoteCompletionCallback;
+using ppapi_proxy::PPBNetworkListPrivateInterface;
+using ppapi_proxy::SerializeTo;
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_IsNetworkList(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* out_bool) {
+ DebugPrintf("PPB_NetworkList_Private::IsNetworkList: "
+ "resource=%"NACL_PRId32"\n", resource);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ PP_Bool pp_success =
+ PPBNetworkListPrivateInterface()->IsNetworkList(resource);
+ *out_bool = PP_ToBool(pp_success);
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetCount(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* count) {
+ DebugPrintf("PPB_NetworkList_Private::GetCount: "
+ "resource=%"NACL_PRId32"\n", resource);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ *count = PPBNetworkListPrivateInterface()->GetCount(resource);
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetName(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* name_bytes, char* name) {
+ DebugPrintf("PPB_NetworkList_Private::GetName: "
+ "resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ PP_Var pp_string =
+ PPBNetworkListPrivateInterface()->GetName(resource, index);
+ if (SerializeTo(&pp_string, name, name_bytes))
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetType(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* type) {
+ DebugPrintf("PPB_NetworkList_Private::GetType: "
+ "resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ *type = PPBNetworkListPrivateInterface()->GetType(resource, index);
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetState(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* state) {
+ DebugPrintf("PPB_NetworkList_Private::GetState: "
+ "resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ *state = PPBNetworkListPrivateInterface()->GetState(resource, index);
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetIpAddresses(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* addr_bytes, char* addr,
+ int32_t* result) {
+ DebugPrintf("PPB_NetworkList_Private::GetIpAddresses: "
+ "resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ int addr_buffer_size = *addr_bytes / sizeof(PP_NetAddress_Private);
+ *result = PPBNetworkListPrivateInterface()->GetIpAddresses(
+ resource, index,
+ reinterpret_cast<PP_NetAddress_Private*>(addr), addr_buffer_size);
+
+ *addr_bytes = std::min(
+ static_cast<nacl_abi_size_t>(*result * sizeof(PP_NetAddress_Private)),
+ *addr_bytes);
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetDisplayName(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* display_name_bytes, char* display_name) {
+ DebugPrintf("PPB_NetworkList_Private::GetDisplayName: "
+ "resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ PP_Var pp_string =
+ PPBNetworkListPrivateInterface()->GetDisplayName(resource, index);
+
+ if (SerializeTo(&pp_string, display_name, display_name_bytes))
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetMTU(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* mtu) {
+ DebugPrintf("PPB_NetworkList_Private::GetMTU: "
+ "resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ *mtu = PPBNetworkListPrivateInterface()->GetMTU(resource, index);
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_monitor_private_rpc_server.cc b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_monitor_private_rpc_server.cc
new file mode 100644
index 0000000..1078d2b
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_network_monitor_private_rpc_server.cc
@@ -0,0 +1,90 @@
+// 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.
+//
+// SRPC-abstraction wrappers around PPB_NetworkMonitor_Private functions.
+
+#include <string.h>
+#include <limits>
+
+#include "native_client/src/include/nacl_macros.h"
+#include "native_client/src/shared/ppapi_proxy/browser_callback.h"
+#include "native_client/src/shared/ppapi_proxy/browser_globals.h"
+#include "native_client/src/shared/ppapi_proxy/utility.h"
+#include "ppapi/c/pp_completion_callback.h"
+#include "ppapi/c/pp_errors.h"
+#include "ppapi/c/private/ppb_udp_socket_private.h"
+#include "srpcgen/ppb_rpc.h"
+#include "srpcgen/ppp_rpc.h"
+
+using ppapi_proxy::DebugPrintf;
+using ppapi_proxy::DeleteRemoteCallbackInfo;
+using ppapi_proxy::MakeRemoteCompletionCallback;
+using ppapi_proxy::PPBNetworkMonitorPrivateInterface;
+
+namespace {
+
+struct NetworkListCallbackData {
+ PP_Instance instance_id;
+ PP_Resource network_monitor;
+};
+
+void NetworkListChangedCallback(void* user_data, PP_Resource network_list) {
+ NetworkListCallbackData* data =
+ reinterpret_cast<NetworkListCallbackData*>(user_data);
+
+ NaClSrpcChannel* nacl_srpc_channel = ppapi_proxy::GetMainSrpcChannel(
+ data->instance_id);
+ PppNetworkMonitorPrivateRpcClient::
+ PPP_NetworkMonitor_Private_NetworkListChanged(
+ nacl_srpc_channel, data->network_monitor, network_list);
+}
+
+} // namespace
+
+void PpbNetworkMonitorPrivateServer::PPB_NetworkMonitor_Private_Create(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Instance instance,
+ PP_Resource* resource) {
+ DebugPrintf("PPB_NetworkMonitor_Private::Create: "
+ "instance=%"NACL_PRId32"\n", instance);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ // NetworkListCallbackData is always leaked - it's non-trivial to detect when
+ // NetworkMonitor resource is destroyed. This code is going to be removed
+ // soon, so it doesn't make sense to fix it.
+ //
+ // TODO(sergeyu): Fix this leak if for any reason we decide to keep this code
+ // long term.
+ NetworkListCallbackData* callback_data = new NetworkListCallbackData();
+ callback_data->instance_id = instance;
+
+ *resource = PPBNetworkMonitorPrivateInterface()->Create(
+ instance, &NetworkListChangedCallback, callback_data);
+
+ callback_data->network_monitor = *resource;
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void
+PpbNetworkMonitorPrivateServer::PPB_NetworkMonitor_Private_IsNetworkMonitor(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* out_bool) {
+ DebugPrintf("PPB_NetworkMonitor_Private::IsNetworkMonitor: "
+ "resource=%"NACL_PRId32"\n", resource);
+
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+
+ PP_Bool pp_success =
+ PPBNetworkMonitorPrivateInterface()->IsNetworkMonitor(resource);
+ *out_bool = PP_ToBool(pp_success);
+
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/build.scons b/ppapi/native_client/src/shared/ppapi_proxy/build.scons
index 30da006f..c047993 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/build.scons
+++ b/ppapi/native_client/src/shared/ppapi_proxy/build.scons
@@ -55,6 +55,8 @@ env.DualLibrary('ppapi_browser',
'browser_ppb_mouse_cursor_rpc_server.cc',
'browser_ppb_mouse_lock_rpc_server.cc',
'browser_ppb_net_address_private_rpc_server.cc',
+ 'browser_ppb_network_list_private_rpc_server.cc',
+ 'browser_ppb_network_monitor_private_rpc_server.cc',
'browser_ppb_pdf_rpc_server.cc',
'browser_ppb_rpc_server.cc',
'browser_ppb_scrollbar_rpc_server.cc',
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/nacl.scons b/ppapi/native_client/src/shared/ppapi_proxy/nacl.scons
index 1b01662..0d8a46d 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/nacl.scons
+++ b/ppapi/native_client/src/shared/ppapi_proxy/nacl.scons
@@ -77,6 +77,8 @@ libppruntime = env.NaClSdkLibrary(
'plugin_ppb_mouse_cursor.cc',
'plugin_ppb_mouse_lock.cc',
'plugin_ppb_net_address_private.cc',
+ 'plugin_ppb_network_list_private.cc',
+ 'plugin_ppb_network_monitor_private.cc',
'plugin_ppb_pdf.cc',
'plugin_ppb_scrollbar.cc',
'plugin_ppb_tcp_server_socket_private.cc',
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb.cc b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb.cc
index ed3f6739..f665191 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb.cc
@@ -29,6 +29,8 @@
#include "native_client/src/shared/ppapi_proxy/plugin_ppb_mouse_cursor.h"
#include "native_client/src/shared/ppapi_proxy/plugin_ppb_mouse_lock.h"
#include "native_client/src/shared/ppapi_proxy/plugin_ppb_net_address_private.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.h"
#include "native_client/src/shared/ppapi_proxy/plugin_ppb_pdf.h"
#include "native_client/src/shared/ppapi_proxy/plugin_ppb_scrollbar.h"
#include "native_client/src/shared/ppapi_proxy/plugin_ppb_tcp_server_socket_private.h"
@@ -96,6 +98,10 @@ InterfaceMapElement interface_map[] = {
PluginNetAddressPrivate::GetInterface1_0(), true },
{ PPB_NETADDRESS_PRIVATE_INTERFACE_1_1,
PluginNetAddressPrivate::GetInterface1_1(), true },
+ { PPB_NETWORKLIST_PRIVATE_INTERFACE, PluginNetworkListPrivate::GetInterface(),
+ true },
+ { PPB_NETWORKMONITOR_PRIVATE_INTERFACE,
+ PluginNetworkMonitorPrivate::GetInterface(), true },
{ PPB_OPENGLES2_INTERFACE_1_0, PluginGraphics3D::GetOpenGLESInterface(),
true },
{ PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0,
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.cc b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.cc
new file mode 100644
index 0000000..63035ec
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.cc
@@ -0,0 +1,208 @@
+// 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 "native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.h"
+
+#include "native_client/src/include/nacl_macros.h"
+#include "native_client/src/include/nacl_scoped_ptr.h"
+#include "native_client/src/include/portability.h"
+#include "native_client/src/shared/ppapi_proxy/object_serialize.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_callback.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_globals.h"
+#include "native_client/src/shared/ppapi_proxy/utility.h"
+#include "native_client/src/shared/srpc/nacl_srpc.h"
+#include "ppapi/c/pp_completion_callback.h"
+#include "ppapi/c/pp_errors.h"
+#include "ppapi/c/private/ppb_network_list_private.h"
+#include "srpcgen/ppb_rpc.h"
+
+namespace ppapi_proxy {
+
+namespace {
+
+PP_Bool IsNetworkList(PP_Resource resource) {
+ DebugPrintf("PPB_NetworkList_Private::IsNetworkList: "
+ "resource=%"NACL_PRId32"\n", resource);
+
+ int32_t is_network_list;
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_IsNetworkList(
+ GetMainSrpcChannel(), resource, &is_network_list);
+
+ DebugPrintf("PPB_NetworkList_Private::IsNetworkList: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ if (srpc_result != NACL_SRPC_RESULT_OK)
+ return PP_FALSE;
+
+ return PP_FromBool(is_network_list);
+}
+
+uint32_t GetCount(PP_Resource resource) {
+ DebugPrintf("PPB_NetworkList_Private::GetCount: "
+ "resource=%"NACL_PRId32"\n", resource);
+
+ int32_t count;
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_GetCount(
+ GetMainSrpcChannel(), resource, &count);
+
+ DebugPrintf("PPB_NetworkList_Private::GetCount: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ if (srpc_result != NACL_SRPC_RESULT_OK)
+ return 0;
+
+ return count;
+}
+
+struct PP_Var GetName(PP_Resource resource, uint32_t index) {
+ DebugPrintf("PPB_NetworkList_Private::GetName:"
+ " resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ nacl_abi_size_t name_size = kMaxReturnVarSize;
+ nacl::scoped_array<char> name_bytes(new char[name_size]);
+ if (name_bytes.get() == NULL)
+ return PP_MakeUndefined();
+
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_GetName(
+ GetMainSrpcChannel(), resource, index,
+ &name_size, name_bytes.get());
+
+ struct PP_Var name = PP_MakeUndefined();
+ if (srpc_result == NACL_SRPC_RESULT_OK)
+ DeserializeTo(name_bytes.get(), name_size, 1, &name);
+
+ DebugPrintf("PPB_NetworkList_Private::GetName: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ return name;
+}
+
+PP_NetworkListType_Private GetType(PP_Resource resource, uint32_t index) {
+ DebugPrintf("PPB_NetworkList_Private::GetType:"
+ " resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ int32_t type;
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_GetType(
+ GetMainSrpcChannel(), resource, index, &type);
+
+ DebugPrintf("PPB_NetworkList_Private::GetType: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ if (srpc_result == NACL_SRPC_RESULT_OK)
+ return PP_NETWORKLIST_UNKNOWN;
+
+ return static_cast<PP_NetworkListType_Private>(type);
+}
+
+PP_NetworkListState_Private GetState(PP_Resource resource, uint32_t index) {
+ DebugPrintf("PPB_NetworkList_Private::GetState:"
+ " resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ int32_t state;
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_GetState(
+ GetMainSrpcChannel(), resource, index, &state);
+
+ DebugPrintf("PPB_NetworkList_Private::GetState: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ if (srpc_result == NACL_SRPC_RESULT_OK)
+ return PP_NETWORKLIST_DOWN;
+
+ return static_cast<PP_NetworkListState_Private>(state);
+}
+
+int32_t GetIpAddresses(PP_Resource resource,
+ uint32_t index,
+ PP_NetAddress_Private addresses[],
+ uint32_t count) {
+ DebugPrintf("PPB_NetworkList_Private::GetIpAddresses:"
+ " resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ nacl_abi_size_t addr_size = count * sizeof(PP_NetAddress_Private);
+ int32_t addr_count;
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_GetIpAddresses(
+ GetMainSrpcChannel(), resource, index,
+ &addr_size, reinterpret_cast<char*>(addresses),
+ &addr_count);
+
+ DebugPrintf("PPB_NetworkList_Private::GetIpAddresses: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ DCHECK(addr_count > count ||
+ addr_count * sizeof(PP_NetAddress_Private) == addr_size);
+
+ return addr_count;
+}
+
+struct PP_Var GetDisplayName(PP_Resource resource, uint32_t index) {
+ DebugPrintf("PPB_NetworkList_Private::GetDisplayName:"
+ " resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ nacl_abi_size_t name_size = kMaxReturnVarSize;
+ nacl::scoped_array<char> name_bytes(new char[name_size]);
+ if (name_bytes.get() == NULL)
+ return PP_MakeUndefined();
+
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_GetDisplayName(
+ GetMainSrpcChannel(), resource, index,
+ &name_size, name_bytes.get());
+
+ struct PP_Var name = PP_MakeUndefined();
+ if (srpc_result == NACL_SRPC_RESULT_OK)
+ DeserializeTo(name_bytes.get(), name_size, 1, &name);
+
+ DebugPrintf("PPB_NetworkList_Private::GetDisplayName: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ return name;
+}
+
+uint32_t GetMTU(PP_Resource resource, uint32_t index) {
+ DebugPrintf("PPB_NetworkList_Private::GetMTU:"
+ " resource=%"NACL_PRId32" index=%"NACL_PRId32"\n",
+ resource, index);
+
+ int32_t mtu;
+ NaClSrpcError srpc_result = PpbNetworkListPrivateClient::
+ PPB_NetworkList_Private_GetMTU(
+ GetMainSrpcChannel(), resource, index, &mtu);
+
+ DebugPrintf("PPB_NetworkList_Private::GetMTU: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ if (srpc_result == NACL_SRPC_RESULT_OK)
+ return PP_NETWORKLIST_UNKNOWN;
+
+ return mtu;
+}
+
+} // namespace
+
+const PPB_NetworkList_Private* PluginNetworkListPrivate::GetInterface() {
+ static const PPB_NetworkList_Private networklist_private_interface = {
+ IsNetworkList,
+ GetCount,
+ GetName,
+ GetType,
+ GetState,
+ GetIpAddresses,
+ GetDisplayName,
+ GetMTU,
+ };
+ return &networklist_private_interface;
+}
+
+} // namespace ppapi_proxy
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.h b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.h
new file mode 100644
index 0000000..de6e4d3
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_list_private.h
@@ -0,0 +1,24 @@
+// 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.
+
+#ifndef NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_PLUGIN_NETWORK_LIST_PRIVATE_H_
+#define NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_PLUGIN_NETWORK_LIST_PRIVATE_H_
+
+#include "native_client/src/include/nacl_macros.h"
+#include "ppapi/c/private/ppb_network_list_private.h"
+
+namespace ppapi_proxy {
+
+// Implements the untrusted side of the PPB_NetworkList_Private interface.
+class PluginNetworkListPrivate {
+ public:
+ static const PPB_NetworkList_Private* GetInterface();
+
+ private:
+ NACL_DISALLOW_COPY_AND_ASSIGN(PluginNetworkListPrivate);
+};
+
+} // namespace ppapi_proxy
+
+#endif // NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_PLUGIN_NETWORK_LIST_PRIVATE_H_
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.cc b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.cc
new file mode 100644
index 0000000..eb891f7
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.cc
@@ -0,0 +1,128 @@
+// 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 "native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.h"
+
+#include "native_client/src/include/nacl_macros.h"
+#include "native_client/src/include/portability.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_callback.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_globals.h"
+#include "native_client/src/shared/ppapi_proxy/utility.h"
+#include "native_client/src/shared/srpc/nacl_srpc.h"
+#include "ppapi/c/pp_completion_callback.h"
+#include "ppapi/c/pp_errors.h"
+#include "ppapi/c/private/ppb_network_monitor_private.h"
+#include "srpcgen/ppb_rpc.h"
+#include "srpcgen/ppp_rpc.h"
+
+namespace ppapi_proxy {
+
+PluginNetworkMonitorPrivate::PluginNetworkMonitorPrivate()
+ : network_list_callback_(NULL),
+ user_data_(NULL) {
+}
+
+PluginNetworkMonitorPrivate::~PluginNetworkMonitorPrivate() {
+}
+
+void PluginNetworkMonitorPrivate::OnNetworkListChanged(
+ PP_Resource list_resource) {
+ DCHECK(network_list_callback_);
+ network_list_callback_(user_data_, list_resource);
+}
+
+
+namespace {
+
+PP_Resource Create(PP_Instance instance_id,
+ PPB_NetworkMonitor_Callback callback,
+ void* user_data) {
+ DebugPrintf("PPB_NetworkMonitor_Private::Create: "
+ "instance_id=%"NACL_PRId32"\n", instance_id);
+
+ if (NULL == callback)
+ return kInvalidResourceId;
+
+ PP_Resource resource;
+ NaClSrpcError srpc_result =
+ PpbNetworkMonitorPrivateClient::PPB_NetworkMonitor_Private_Create(
+ GetMainSrpcChannel(), instance_id, &resource);
+
+ DebugPrintf("PPB_NetworkMonitor_Private::Create: %d %s\n",
+ resource, NaClSrpcErrorString(srpc_result));
+
+ if (srpc_result != NACL_SRPC_RESULT_OK)
+ return kInvalidResourceId;
+
+ scoped_refptr<PluginNetworkMonitorPrivate> network_monitor =
+ PluginResource::AdoptAs<PluginNetworkMonitorPrivate>(resource);
+ if (!network_monitor.get())
+ return kInvalidResourceId;
+
+ network_monitor->set_callback(callback, user_data);
+
+ return resource;
+}
+
+PP_Bool IsNetworkMonitor(PP_Resource resource_id) {
+ DebugPrintf("PPB_NetworkMonitor_Private::IsNetworkMonitor: "
+ "resource_id=%"NACL_PRId32"\n", resource_id);
+
+ int32_t is_network_monitor;
+ NaClSrpcError srpc_result = PpbNetworkMonitorPrivateClient::
+ PPB_NetworkMonitor_Private_IsNetworkMonitor(
+ GetMainSrpcChannel(), resource_id, &is_network_monitor);
+
+ DebugPrintf("PPB_NetworkMonitor_Private::IsNetworkMonitor: %s\n",
+ NaClSrpcErrorString(srpc_result));
+
+ if (srpc_result != NACL_SRPC_RESULT_OK)
+ return PP_FALSE;
+
+ return PP_FromBool(is_network_monitor);
+}
+
+} // namespace
+
+const PPB_NetworkMonitor_Private*
+PluginNetworkMonitorPrivate::GetInterface() {
+ static const PPB_NetworkMonitor_Private networkmonitor_private_interface = {
+ Create,
+ IsNetworkMonitor,
+ };
+ return &networkmonitor_private_interface;
+}
+
+bool PluginNetworkMonitorPrivate::InitFromBrowserResource(
+ PP_Resource resource) {
+ DebugPrintf("PluginNetworkMonitorPrivate::InitFromBrowserResource: "
+ "resource=%"NACL_PRId32"\n", resource);
+ resource_ = resource;
+ return true;
+}
+
+} // namespace ppapi_proxy
+
+void
+PppNetworkMonitorPrivateRpcServer::
+PPP_NetworkMonitor_Private_NetworkListChanged(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource network_monitor_id,
+ PP_Resource network_list) {
+ NaClSrpcClosureRunner runner(done);
+ rpc->result = NACL_SRPC_RESULT_OK;
+ ppapi_proxy::DebugPrintf(
+ "PPP_NetworkMonitor_Private::NetworkListChanged: "
+ "network_monitor_id=%"NACL_PRId32" network_list=%"NACL_PRId32"\n",
+ network_monitor_id, network_list);
+ scoped_refptr<ppapi_proxy::PluginNetworkMonitorPrivate> network_monitor =
+ ppapi_proxy::PluginResource::
+ GetAs<ppapi_proxy::PluginNetworkMonitorPrivate>(network_monitor_id);
+
+ if (!network_monitor.get())
+ return;
+
+ network_monitor->OnNetworkListChanged(network_list);
+}
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.h b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.h
new file mode 100644
index 0000000..75396f1
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_network_monitor_private.h
@@ -0,0 +1,49 @@
+// 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.
+
+#ifndef NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_PLUGIN_PPB_NETWORK_MONITOR_PRIVATE_H_
+#define NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_PLUGIN_PPB_NETWORK_MONITOR_PRIVATE_H_
+
+#include <pthread.h>
+#include "native_client/src/include/nacl_base.h"
+#include "native_client/src/include/nacl_macros.h"
+#include "native_client/src/include/portability.h"
+#include "native_client/src/include/ref_counted.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_resource.h"
+#include "native_client/src/shared/srpc/nacl_srpc.h"
+#include "ppapi/c/pp_resource.h"
+#include "ppapi/c/private/ppb_network_monitor_private.h"
+
+namespace ppapi_proxy {
+
+class PluginNetworkMonitorPrivate : public PluginResource {
+ public:
+ PluginNetworkMonitorPrivate();
+
+ void set_callback(PPB_NetworkMonitor_Callback network_list_callback,
+ void* user_data) {
+ network_list_callback_ = network_list_callback;
+ user_data_ = user_data;
+ }
+
+ void OnNetworkListChanged(PP_Resource list_resource);
+
+ static const PPB_NetworkMonitor_Private* GetInterface();
+ virtual bool InitFromBrowserResource(PP_Resource resource);
+
+ protected:
+ virtual ~PluginNetworkMonitorPrivate();
+
+ private:
+ PP_Resource resource_;
+ PPB_NetworkMonitor_Callback network_list_callback_;
+ void* user_data_;
+
+ IMPLEMENT_RESOURCE(PluginNetworkMonitorPrivate);
+ NACL_DISALLOW_COPY_AND_ASSIGN(PluginNetworkMonitorPrivate);
+};
+
+} // namespace ppapi_proxy
+
+#endif // NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_PLUGIN_PPB_NETWORK_MONITOR_PRIVATE_H_AUDIO_H_
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_tcp_socket_private.cc b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_tcp_socket_private.cc
index 13baa22..3d745be 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_tcp_socket_private.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_tcp_socket_private.cc
@@ -5,6 +5,7 @@
#include "native_client/src/shared/ppapi_proxy/plugin_ppb_tcp_socket_private.h"
#include <string.h>
+
#include "native_client/src/include/nacl_macros.h"
#include "native_client/src/include/portability.h"
#include "native_client/src/shared/ppapi_proxy/plugin_callback.h"
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h b/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h
index b80cf00..91e7933 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h
@@ -22,6 +22,7 @@ namespace ppapi_proxy {
F(PluginGraphics3D) \
F(PluginImageData) \
F(PluginInputEvent) \
+ F(PluginNetworkMonitorPrivate) \
F(PluginView)
// Forward declaration of PluginResource classes.
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy.gyp b/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy.gyp
index ccf76e9..602e426 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy.gyp
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy.gyp
@@ -50,6 +50,8 @@
'browser_ppb_mouse_cursor_rpc_server.cc',
'browser_ppb_mouse_lock_rpc_server.cc',
'browser_ppb_net_address_private_rpc_server.cc',
+ 'browser_ppb_network_list_private_rpc_server.cc',
+ 'browser_ppb_network_monitor_private_rpc_server.cc',
'browser_ppb_pdf_rpc_server.cc',
'browser_ppb_rpc_server.cc',
'browser_ppb_scrollbar_rpc_server.cc',
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp b/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp
index 8af75af..7994bdb 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp
@@ -57,8 +57,8 @@
'plugin_ppb_buffer.cc',
'plugin_ppb_core.cc',
'plugin_ppb_file_io.cc',
- 'plugin_ppb_file_system.cc',
'plugin_ppb_file_ref.cc',
+ 'plugin_ppb_file_system.cc',
'plugin_ppb_find.cc',
'plugin_ppb_font.cc',
'plugin_ppb_fullscreen.cc',
@@ -74,6 +74,8 @@
'plugin_ppb_mouse_cursor.cc',
'plugin_ppb_mouse_lock.cc',
'plugin_ppb_net_address_private.cc',
+ 'plugin_ppb_network_list_private.cc',
+ 'plugin_ppb_network_monitor_private.cc',
'plugin_ppb_pdf.cc',
'plugin_ppb_scrollbar.cc',
'plugin_ppb_tcp_server_socket_private.cc',
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppb_network_list_private.srpc b/ppapi/native_client/src/shared/ppapi_proxy/ppb_network_list_private.srpc
new file mode 100644
index 0000000..086f1bc
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppb_network_list_private.srpc
@@ -0,0 +1,68 @@
+# Copyright (c) 2012 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.
+
+# This file declares the RPC methods used to implement
+# PPB_NetworkList_Private calls from the plugin. The functions are described
+# in ppapi/c/private/ppb_network_list.h.
+
+{
+ 'name': 'PpbNetworkListPrivate',
+ 'rpcs': [
+ {'name': 'PPB_NetworkList_Private_IsNetworkList',
+ 'inputs': [['resource', 'PP_Resource'],
+ ],
+ 'outputs': [['out_bool', 'int32_t'],
+ ]
+ },
+ {'name': 'PPB_NetworkList_Private_GetCount',
+ 'inputs': [['resource', 'PP_Resource'],
+ ],
+ 'outputs': [['count', 'int32_t'],
+ ]
+ },
+ {'name': 'PPB_NetworkList_Private_GetName',
+ 'inputs': [['resource', 'PP_Resource'],
+ ['index', 'int32_t'],
+ ],
+ 'outputs': [['name', 'char[]'],
+ ]
+ },
+ {'name': 'PPB_NetworkList_Private_GetType',
+ 'inputs': [['resource', 'PP_Resource'],
+ ['index', 'int32_t'],
+ ],
+ 'outputs': [['type', 'int32_t'],
+ ]
+ },
+ {'name': 'PPB_NetworkList_Private_GetState',
+ 'inputs': [['resource', 'PP_Resource'],
+ ['index', 'int32_t'],
+ ],
+ 'outputs': [['state', 'int32_t'],
+ ]
+ },
+ {'name': 'PPB_NetworkList_Private_GetIpAddresses',
+ 'inputs': [['resource', 'PP_Resource'],
+ ['index', 'int32_t'],
+ ],
+ 'outputs': [['addr', 'char[]'], # PP_NetAddress_Private[]
+ ['addresses_count', 'int32_t'],
+ ]
+ },
+ {'name': 'PPB_NetworkList_Private_GetDisplayName',
+ 'inputs': [['resource', 'PP_Resource'],
+ ['index', 'int32_t'],
+ ],
+ 'outputs': [['display_name', 'char[]'],
+ ]
+ },
+ {'name': 'PPB_NetworkList_Private_GetMTU',
+ 'inputs': [['resource', 'PP_Resource'],
+ ['index', 'int32_t'],
+ ],
+ 'outputs': [['mtu', 'int32_t'],
+ ]
+ },
+ ]
+}
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppb_network_monitor_private.srpc b/ppapi/native_client/src/shared/ppapi_proxy/ppb_network_monitor_private.srpc
new file mode 100644
index 0000000..e2a4d54
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppb_network_monitor_private.srpc
@@ -0,0 +1,25 @@
+# Copyright (c) 2012 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.
+
+# This file declares the RPC methods used to implement
+# PPB_NetworkMonitor_Private calls from the plugin. The functions are described
+# in ppapi/c/private/ppb_network_monitor.h.
+
+{
+ 'name': 'PpbNetworkMonitorPrivate',
+ 'rpcs': [
+ {'name': 'PPB_NetworkMonitor_Private_Create',
+ 'inputs': [['instance', 'PP_Instance'],
+ ],
+ 'outputs': [['out_resource', 'PP_Resource'],
+ ]
+ },
+ {'name': 'PPB_NetworkMonitor_Private_IsNetworkMonitor',
+ 'inputs': [['resource', 'PP_Resource'],
+ ],
+ 'outputs': [['out_bool', 'int32_t'],
+ ]
+ },
+ ]
+}
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_client.cc b/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_client.cc
index 31ff01c..a330406 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_client.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_client.cc
@@ -2182,6 +2182,190 @@ NaClSrpcError PpbNetAddressPrivateRpcClient::PPB_NetAddress_Private_CreateFromIP
return retval;
}
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_IsNetworkList(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t* out_bool) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_IsNetworkList:i:i",
+ resource,
+ out_bool
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_GetCount(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t* count) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_GetCount:i:i",
+ resource,
+ count
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_GetName(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* name_bytes, char* name) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_GetName:ii:C",
+ resource,
+ index,
+ name_bytes, name
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_GetType(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* type) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_GetType:ii:i",
+ resource,
+ index,
+ type
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_GetState(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* state) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_GetState:ii:i",
+ resource,
+ index,
+ state
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_GetIpAddresses(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* addr_bytes, char* addr,
+ int32_t* addresses_count) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_GetIpAddresses:ii:Ci",
+ resource,
+ index,
+ addr_bytes, addr,
+ addresses_count
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_GetDisplayName(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* display_name_bytes, char* display_name) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_GetDisplayName:ii:C",
+ resource,
+ index,
+ display_name_bytes, display_name
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkListPrivateClient::PPB_NetworkList_Private_GetMTU(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* mtu) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkList_Private_GetMTU:ii:i",
+ resource,
+ index,
+ mtu
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkMonitorPrivateClient::PPB_NetworkMonitor_Private_Create(
+ NaClSrpcChannel* channel,
+ PP_Instance instance,
+ PP_Resource* out_resource) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkMonitor_Private_Create:i:i",
+ instance,
+ out_resource
+ );
+ return retval;
+}
+
+NaClSrpcError PpbNetworkMonitorPrivateClient::PPB_NetworkMonitor_Private_IsNetworkMonitor(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t* out_bool) {
+ VCHECK(ppapi_proxy::PPBCoreInterface()->IsMainThread(),
+ ("%s: PPAPI calls are not supported off the main thread\n",
+ __FUNCTION__));
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPB_NetworkMonitor_Private_IsNetworkMonitor:i:i",
+ resource,
+ out_bool
+ );
+ return retval;
+}
+
NaClSrpcError PpbPdfRpcClient::PPB_PDF_GetLocalizedString(
NaClSrpcChannel* channel,
PP_Instance instance,
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_server.cc b/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_server.cc
index 69316ea..832b872 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_server.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppb_rpc_server.cc
@@ -1740,6 +1740,153 @@ static void PPB_NetAddress_Private_CreateFromIPv6AddressDispatcher(
);
}
+static void PPB_NetworkList_Private_IsNetworkListDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_IsNetworkList(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ &(outputs[0]->u.ival)
+ );
+}
+
+static void PPB_NetworkList_Private_GetCountDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetCount(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ &(outputs[0]->u.ival)
+ );
+}
+
+static void PPB_NetworkList_Private_GetNameDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetName(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ inputs[1]->u.ival,
+ &(outputs[0]->u.count), outputs[0]->arrays.carr
+ );
+}
+
+static void PPB_NetworkList_Private_GetTypeDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetType(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ inputs[1]->u.ival,
+ &(outputs[0]->u.ival)
+ );
+}
+
+static void PPB_NetworkList_Private_GetStateDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetState(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ inputs[1]->u.ival,
+ &(outputs[0]->u.ival)
+ );
+}
+
+static void PPB_NetworkList_Private_GetIpAddressesDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetIpAddresses(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ inputs[1]->u.ival,
+ &(outputs[0]->u.count), outputs[0]->arrays.carr,
+ &(outputs[1]->u.ival)
+ );
+}
+
+static void PPB_NetworkList_Private_GetDisplayNameDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetDisplayName(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ inputs[1]->u.ival,
+ &(outputs[0]->u.count), outputs[0]->arrays.carr
+ );
+}
+
+static void PPB_NetworkList_Private_GetMTUDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkListPrivateServer::PPB_NetworkList_Private_GetMTU(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ inputs[1]->u.ival,
+ &(outputs[0]->u.ival)
+ );
+}
+
+static void PPB_NetworkMonitor_Private_CreateDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkMonitorPrivateServer::PPB_NetworkMonitor_Private_Create(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ &(outputs[0]->u.ival)
+ );
+}
+
+static void PPB_NetworkMonitor_Private_IsNetworkMonitorDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ PpbNetworkMonitorPrivateServer::PPB_NetworkMonitor_Private_IsNetworkMonitor(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ &(outputs[0]->u.ival)
+ );
+}
+
static void PPB_PDF_GetLocalizedStringDispatcher(
NaClSrpcRpc* rpc,
NaClSrpcArg** inputs,
@@ -3193,6 +3340,16 @@ NaClSrpcHandlerDesc PpbRpcs::srpc_methods[] = {
{ "PPB_NetAddress_Private_GetScopeID:C:i", PPB_NetAddress_Private_GetScopeIDDispatcher },
{ "PPB_NetAddress_Private_CreateFromIPv4Address:Ci:C", PPB_NetAddress_Private_CreateFromIPv4AddressDispatcher },
{ "PPB_NetAddress_Private_CreateFromIPv6Address:Cii:C", PPB_NetAddress_Private_CreateFromIPv6AddressDispatcher },
+ { "PPB_NetworkList_Private_IsNetworkList:i:i", PPB_NetworkList_Private_IsNetworkListDispatcher },
+ { "PPB_NetworkList_Private_GetCount:i:i", PPB_NetworkList_Private_GetCountDispatcher },
+ { "PPB_NetworkList_Private_GetName:ii:C", PPB_NetworkList_Private_GetNameDispatcher },
+ { "PPB_NetworkList_Private_GetType:ii:i", PPB_NetworkList_Private_GetTypeDispatcher },
+ { "PPB_NetworkList_Private_GetState:ii:i", PPB_NetworkList_Private_GetStateDispatcher },
+ { "PPB_NetworkList_Private_GetIpAddresses:ii:Ci", PPB_NetworkList_Private_GetIpAddressesDispatcher },
+ { "PPB_NetworkList_Private_GetDisplayName:ii:C", PPB_NetworkList_Private_GetDisplayNameDispatcher },
+ { "PPB_NetworkList_Private_GetMTU:ii:i", PPB_NetworkList_Private_GetMTUDispatcher },
+ { "PPB_NetworkMonitor_Private_Create:i:i", PPB_NetworkMonitor_Private_CreateDispatcher },
+ { "PPB_NetworkMonitor_Private_IsNetworkMonitor:i:i", PPB_NetworkMonitor_Private_IsNetworkMonitorDispatcher },
{ "PPB_PDF_GetLocalizedString:ii:C", PPB_PDF_GetLocalizedStringDispatcher },
{ "PPB_PDF_GetResourceImage:ii:i", PPB_PDF_GetResourceImageDispatcher },
{ "PPB_PDF_GetFontFileWithFallback:iCCi:i", PPB_PDF_GetFontFileWithFallbackDispatcher },
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppp_network_monitor_private.srpc b/ppapi/native_client/src/shared/ppapi_proxy/ppp_network_monitor_private.srpc
new file mode 100644
index 0000000..6df4c38
--- /dev/null
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppp_network_monitor_private.srpc
@@ -0,0 +1,20 @@
+# Copyright (c) 2012 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.
+
+# This file declares the RPC methods called by the browser used to implement
+# PPB_NetworkMonitor_Private interface. Specifically it defines method called by
+# the browser when the network list changes.
+
+{
+ 'name': 'PppNetworkMonitorPrivateRpc',
+ 'rpcs': [
+ # NetworkListChanged
+ {'name': 'PPP_NetworkMonitor_Private_NetworkListChanged',
+ 'inputs': [['network_monitor', 'PP_Resource'],
+ ['network_list', 'PP_Resource'],
+ ],
+ 'outputs': [],
+ },
+ ]
+}
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_client.cc b/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_client.cc
index 15cf71d..cf661fb 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_client.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_client.cc
@@ -290,6 +290,20 @@ NaClSrpcError PppMouseLockRpcClient::PPP_MouseLock_MouseLockLost(
return retval;
}
+NaClSrpcError PppNetworkMonitorPrivateRpcClient::PPP_NetworkMonitor_Private_NetworkListChanged(
+ NaClSrpcChannel* channel,
+ PP_Resource network_monitor,
+ PP_Resource network_list) {
+ NaClSrpcError retval;
+ retval = NaClSrpcInvokeBySignature(
+ channel,
+ "PPP_NetworkMonitor_Private_NetworkListChanged:ii:",
+ network_monitor,
+ network_list
+ );
+ return retval;
+}
+
NaClSrpcError PppPrintingRpcClient::PPP_Printing_QuerySupportedFormats(
NaClSrpcChannel* channel,
PP_Instance instance,
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_server.cc b/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_server.cc
index e23bef1..86f3ca5 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_server.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/ppp_rpc_server.cc
@@ -268,6 +268,21 @@ static void PPP_MouseLock_MouseLockLostDispatcher(
);
}
+static void PPP_NetworkMonitor_Private_NetworkListChangedDispatcher(
+ NaClSrpcRpc* rpc,
+ NaClSrpcArg** inputs,
+ NaClSrpcArg** outputs,
+ NaClSrpcClosure* done
+) {
+ UNREFERENCED_PARAMETER(outputs);
+ PppNetworkMonitorPrivateRpcServer::PPP_NetworkMonitor_Private_NetworkListChanged(
+ rpc,
+ done,
+ inputs[0]->u.ival,
+ inputs[1]->u.ival
+ );
+}
+
static void PPP_Printing_QuerySupportedFormatsDispatcher(
NaClSrpcRpc* rpc,
NaClSrpcArg** inputs,
@@ -439,6 +454,7 @@ NaClSrpcHandlerDesc PppRpcs::srpc_methods[] = {
{ "PPP_Instance_HandleDocumentLoad:ii:i", PPP_Instance_HandleDocumentLoadDispatcher },
{ "PPP_Messaging_HandleMessage:iC:", PPP_Messaging_HandleMessageDispatcher },
{ "PPP_MouseLock_MouseLockLost:i:", PPP_MouseLock_MouseLockLostDispatcher },
+ { "PPP_NetworkMonitor_Private_NetworkListChanged:ii:", PPP_NetworkMonitor_Private_NetworkListChangedDispatcher },
{ "PPP_Printing_QuerySupportedFormats:i:i", PPP_Printing_QuerySupportedFormatsDispatcher },
{ "PPP_Printing_Begin:iC:i", PPP_Printing_BeginDispatcher },
{ "PPP_Printing_PrintPages:iCi:i", PPP_Printing_PrintPagesDispatcher },
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/run_srpcgen.py b/ppapi/native_client/src/shared/ppapi_proxy/run_srpcgen.py
index 27ded6f..017c8e2 100755
--- a/ppapi/native_client/src/shared/ppapi_proxy/run_srpcgen.py
+++ b/ppapi/native_client/src/shared/ppapi_proxy/run_srpcgen.py
@@ -45,6 +45,7 @@ all_units = [
'ppp_instance.srpc',
'ppp_messaging.srpc',
'ppp_mouse_lock.srpc',
+ 'ppp_network_monitor_private.srpc',
'ppp_printing.srpc',
'ppp_scrollbar.srpc',
'ppp_selection.srpc',
@@ -77,6 +78,8 @@ all_units = [
'ppb_mouse_cursor.srpc',
'ppb_mouse_lock.srpc',
'ppb_net_address_private.srpc',
+ 'ppb_network_list_private.srpc',
+ 'ppb_network_monitor_private.srpc',
'ppb_pdf.srpc',
'ppb_scrollbar.srpc',
'ppb_tcp_server_socket_private.srpc',
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppb_rpc.h b/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppb_rpc.h
index 2aea8f8..c0be4b9 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppb_rpc.h
+++ b/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppb_rpc.h
@@ -898,6 +898,81 @@ class PpbNetAddressPrivateRpcServer {
void operator=(const PpbNetAddressPrivateRpcServer);
}; // class PpbNetAddressPrivateRpcServer
+class PpbNetworkListPrivateServer {
+ public:
+ static void PPB_NetworkList_Private_IsNetworkList(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* out_bool);
+ static void PPB_NetworkList_Private_GetCount(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* count);
+ static void PPB_NetworkList_Private_GetName(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* name_bytes, char* name);
+ static void PPB_NetworkList_Private_GetType(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* type);
+ static void PPB_NetworkList_Private_GetState(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* state);
+ static void PPB_NetworkList_Private_GetIpAddresses(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* addr_bytes, char* addr,
+ int32_t* addresses_count);
+ static void PPB_NetworkList_Private_GetDisplayName(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* display_name_bytes, char* display_name);
+ static void PPB_NetworkList_Private_GetMTU(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* mtu);
+
+ private:
+ PpbNetworkListPrivateServer();
+ PpbNetworkListPrivateServer(const PpbNetworkListPrivateServer&);
+ void operator=(const PpbNetworkListPrivateServer);
+}; // class PpbNetworkListPrivateServer
+
+class PpbNetworkMonitorPrivateServer {
+ public:
+ static void PPB_NetworkMonitor_Private_Create(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Instance instance,
+ PP_Resource* out_resource);
+ static void PPB_NetworkMonitor_Private_IsNetworkMonitor(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* out_bool);
+
+ private:
+ PpbNetworkMonitorPrivateServer();
+ PpbNetworkMonitorPrivateServer(const PpbNetworkMonitorPrivateServer&);
+ void operator=(const PpbNetworkMonitorPrivateServer);
+}; // class PpbNetworkMonitorPrivateServer
+
class PpbPdfRpcServer {
public:
static void PPB_PDF_GetLocalizedString(
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppp_rpc.h b/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppp_rpc.h
index 47d2fb1..25b21cb 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppp_rpc.h
+++ b/ppapi/native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppp_rpc.h
@@ -165,6 +165,19 @@ class PppMouseLockRpcClient {
void operator=(const PppMouseLockRpcClient);
}; // class PppMouseLockRpcClient
+class PppNetworkMonitorPrivateRpcClient {
+ public:
+ static NaClSrpcError PPP_NetworkMonitor_Private_NetworkListChanged(
+ NaClSrpcChannel* channel,
+ PP_Resource network_monitor,
+ PP_Resource network_list);
+
+ private:
+ PppNetworkMonitorPrivateRpcClient();
+ PppNetworkMonitorPrivateRpcClient(const PppNetworkMonitorPrivateRpcClient&);
+ void operator=(const PppNetworkMonitorPrivateRpcClient);
+}; // class PppNetworkMonitorPrivateRpcClient
+
class PppPrintingRpcClient {
public:
static NaClSrpcError PPP_Printing_QuerySupportedFormats(
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppb_rpc.h b/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppb_rpc.h
index b20264a..8a09f72 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppb_rpc.h
+++ b/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppb_rpc.h
@@ -786,6 +786,71 @@ class PpbNetAddressPrivateRpcClient {
void operator=(const PpbNetAddressPrivateRpcClient);
}; // class PpbNetAddressPrivateRpcClient
+class PpbNetworkListPrivateClient {
+ public:
+ static NaClSrpcError PPB_NetworkList_Private_IsNetworkList(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t* out_bool);
+ static NaClSrpcError PPB_NetworkList_Private_GetCount(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t* count);
+ static NaClSrpcError PPB_NetworkList_Private_GetName(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* name_bytes, char* name);
+ static NaClSrpcError PPB_NetworkList_Private_GetType(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* type);
+ static NaClSrpcError PPB_NetworkList_Private_GetState(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* state);
+ static NaClSrpcError PPB_NetworkList_Private_GetIpAddresses(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* addr_bytes, char* addr,
+ int32_t* addresses_count);
+ static NaClSrpcError PPB_NetworkList_Private_GetDisplayName(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ nacl_abi_size_t* display_name_bytes, char* display_name);
+ static NaClSrpcError PPB_NetworkList_Private_GetMTU(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t index,
+ int32_t* mtu);
+
+ private:
+ PpbNetworkListPrivateClient();
+ PpbNetworkListPrivateClient(const PpbNetworkListPrivateClient&);
+ void operator=(const PpbNetworkListPrivateClient);
+}; // class PpbNetworkListPrivateClient
+
+class PpbNetworkMonitorPrivateClient {
+ public:
+ static NaClSrpcError PPB_NetworkMonitor_Private_Create(
+ NaClSrpcChannel* channel,
+ PP_Instance instance,
+ PP_Resource* out_resource);
+ static NaClSrpcError PPB_NetworkMonitor_Private_IsNetworkMonitor(
+ NaClSrpcChannel* channel,
+ PP_Resource resource,
+ int32_t* out_bool);
+
+ private:
+ PpbNetworkMonitorPrivateClient();
+ PpbNetworkMonitorPrivateClient(const PpbNetworkMonitorPrivateClient&);
+ void operator=(const PpbNetworkMonitorPrivateClient);
+}; // class PpbNetworkMonitorPrivateClient
+
class PpbPdfRpcClient {
public:
static NaClSrpcError PPB_PDF_GetLocalizedString(
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppp_rpc.h b/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppp_rpc.h
index 14f0eb6..65dd2b6 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppp_rpc.h
+++ b/ppapi/native_client/src/shared/ppapi_proxy/untrusted/srpcgen/ppp_rpc.h
@@ -181,6 +181,20 @@ class PppMouseLockRpcServer {
void operator=(const PppMouseLockRpcServer);
}; // class PppMouseLockRpcServer
+class PppNetworkMonitorPrivateRpcServer {
+ public:
+ static void PPP_NetworkMonitor_Private_NetworkListChanged(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource network_monitor,
+ PP_Resource network_list);
+
+ private:
+ PppNetworkMonitorPrivateRpcServer();
+ PppNetworkMonitorPrivateRpcServer(const PppNetworkMonitorPrivateRpcServer&);
+ void operator=(const PppNetworkMonitorPrivateRpcServer);
+}; // class PppNetworkMonitorPrivateRpcServer
+
class PppPrintingRpcServer {
public:
static void PPP_Printing_QuerySupportedFormats(
diff --git a/ppapi/ppapi_sources.gypi b/ppapi/ppapi_sources.gypi
index c015efe..563af86 100644
--- a/ppapi/ppapi_sources.gypi
+++ b/ppapi/ppapi_sources.gypi
@@ -367,6 +367,8 @@
'tests/test_mouse_lock.h',
'tests/test_net_address_private_untrusted.cc',
'tests/test_net_address_private_untrusted.h',
+ 'tests/test_network_monitor_private.cc',
+ 'tests/test_network_monitor_private.h',
'tests/test_paint_aggregator.cc',
'tests/test_paint_aggregator.h',
'tests/test_post_message.cc',
@@ -436,8 +438,6 @@
'tests/test_flash_message_loop.h',
'tests/test_net_address_private.cc',
'tests/test_net_address_private.h',
- 'tests/test_network_monitor_private.cc',
- 'tests/test_network_monitor_private.h',
'tests/test_resource_array.cc',
'tests/test_resource_array.h',
'tests/test_struct_sizes.c',
diff --git a/ppapi/tests/test_network_monitor_private.cc b/ppapi/tests/test_network_monitor_private.cc
index f552686..dbe8683 100644
--- a/ppapi/tests/test_network_monitor_private.cc
+++ b/ppapi/tests/test_network_monitor_private.cc
@@ -48,7 +48,6 @@ void TestCallback(void* user_data, PP_Resource pp_network_list) {
data->event.Signal();
}
-
class TestNetworkListObserver : public pp::NetworkListObserverPrivate {
public:
explicit TestNetworkListObserver(const pp::InstanceHandle& instance)