summaryrefslogtreecommitdiffstats
path: root/ppapi/api/ppb_network_monitor.idl
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-22 06:34:03 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-22 06:34:03 +0000
commit86fbad285cb3697e662e2f0b34f82dd2fba2f71e (patch)
tree6b261d3363dee8f179a5c71dcba5667db8957a78 /ppapi/api/ppb_network_monitor.idl
parentd394d9761b6749ad61a001b0ea69850f937f60c9 (diff)
downloadchromium_src-86fbad285cb3697e662e2f0b34f82dd2fba2f71e.zip
chromium_src-86fbad285cb3697e662e2f0b34f82dd2fba2f71e.tar.gz
chromium_src-86fbad285cb3697e662e2f0b34f82dd2fba2f71e.tar.bz2
Make NetworkList and NetworkMonitor APIs public
BUG=281781 R=nfullagar@chromium.org, thakis@chromium.org, yzshen@chromium.org TBR=cevans@chromium.org Review URL: https://codereview.chromium.org/23450012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224626 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/api/ppb_network_monitor.idl')
-rw-r--r--ppapi/api/ppb_network_monitor.idl69
1 files changed, 69 insertions, 0 deletions
diff --git a/ppapi/api/ppb_network_monitor.idl b/ppapi/api/ppb_network_monitor.idl
new file mode 100644
index 0000000..361f7cb
--- /dev/null
+++ b/ppapi/api/ppb_network_monitor.idl
@@ -0,0 +1,69 @@
+/* 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.
+ */
+
+/**
+ * This file defines the <code>PPB_NetworkMonitor</code> interface.
+ */
+
+[generate_thunk]
+
+label Chrome {
+ M31 = 1.0
+};
+
+/**
+ * The <code>PPB_NetworkMonitor</code> allows to get network interfaces
+ * configuration and monitor network configuration changes.
+ *
+ * Permissions: Apps permission <code>socket</code> with subrule
+ * <code>network-state</code> is required for <code>UpdateNetworkList()</code>.
+ * For more details about network communication permissions, please see:
+ * http://developer.chrome.com/apps/app_network.html
+ */
+interface PPB_NetworkMonitor {
+ /**
+ * Creates a Network Monitor resource.
+ *
+ * @param[in] instance A <code>PP_Instance</code> identifying one instance of
+ * a module.
+ *
+ * @return A <code>PP_Resource</code> corresponding to a network monitor or 0
+ * on failure.
+ */
+ PP_Resource Create([in] PP_Instance instance);
+
+
+ /**
+ * Gets current network configuration. When called for the first time,
+ * completes as soon as the current network configuration is received from
+ * the browser. Each consequent call will wait for network list changes,
+ * returning a new <code>PPB_NetworkList</code> resource every time.
+ *
+ * @param[in] network_monitor A <code>PP_Resource</code> corresponding to a
+ * network monitor.
+ * @param[out] network_list The <code>PPB_NetworkList<code> resource with the
+ * current state of network interfaces.
+ * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
+ * completion.
+ *
+ * @return An int32_t containing an error code from <code>pp_errors.h</code>.
+ * <code>PP_ERROR_NOACCESS</code> will be returned if the caller doesn't have
+ * required permissions.
+ */
+ int32_t UpdateNetworkList([in] PP_Resource network_monitor,
+ [out] PP_Resource network_list,
+ [in] PP_CompletionCallback callback);
+
+ /**
+ * Determines if the specified <code>resource</code> is a
+ * <code>NetworkMonitor</code> object.
+ *
+ * @param[in] resource A <code>PP_Resource</code> resource.
+ *
+ * @return Returns <code>PP_TRUE</code> if <code>resource</code> is a
+ * <code>PPB_NetworkMonitor</code>, <code>PP_FALSE</code> otherwise.
+ */
+ PP_Bool IsNetworkMonitor([in] PP_Resource resource);
+};