summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/network_monitor.cc
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/cpp/network_monitor.cc
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/cpp/network_monitor.cc')
-rw-r--r--ppapi/cpp/network_monitor.cc44
1 files changed, 44 insertions, 0 deletions
diff --git a/ppapi/cpp/network_monitor.cc b/ppapi/cpp/network_monitor.cc
new file mode 100644
index 0000000..b721e96
--- /dev/null
+++ b/ppapi/cpp/network_monitor.cc
@@ -0,0 +1,44 @@
+// 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/cpp/network_monitor.h"
+
+#include "ppapi/c/ppb_network_monitor.h"
+#include "ppapi/cpp/completion_callback.h"
+#include "ppapi/cpp/instance.h"
+#include "ppapi/cpp/module_impl.h"
+#include "ppapi/cpp/network_list.h"
+
+namespace pp {
+
+namespace {
+
+template <> const char* interface_name<PPB_NetworkMonitor_1_0>() {
+ return PPB_NETWORKMONITOR_INTERFACE_1_0;
+}
+
+} // namespace
+
+NetworkMonitor::NetworkMonitor(const InstanceHandle& instance) {
+ if (has_interface<PPB_NetworkMonitor_1_0>()) {
+ PassRefFromConstructor(get_interface<PPB_NetworkMonitor_1_0>()->Create(
+ instance.pp_instance()));
+ }
+}
+
+int32_t NetworkMonitor::UpdateNetworkList(
+ const CompletionCallbackWithOutput<NetworkList>& callback) {
+ if (has_interface<PPB_NetworkMonitor_1_0>()) {
+ return get_interface<PPB_NetworkMonitor_1_0>()->UpdateNetworkList(
+ pp_resource(), callback.output(), callback.pp_completion_callback());
+ }
+ return callback.MayForce(PP_ERROR_NOINTERFACE);
+}
+
+// static
+bool NetworkMonitor::IsAvailable() {
+ return has_interface<PPB_NetworkMonitor_1_0>();
+}
+
+} // namespace pp