diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-22 06:34:03 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-22 06:34:03 +0000 |
commit | 86fbad285cb3697e662e2f0b34f82dd2fba2f71e (patch) | |
tree | 6b261d3363dee8f179a5c71dcba5667db8957a78 /ppapi/cpp/network_monitor.cc | |
parent | d394d9761b6749ad61a001b0ea69850f937f60c9 (diff) | |
download | chromium_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.cc | 44 |
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 |