1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef PPAPI_CPP_NETWORK_MONITOR_H_
6#define PPAPI_CPP_NETWORK_MONITOR_H_
7
8#include "ppapi/cpp/instance_handle.h"
9#include "ppapi/cpp/resource.h"
10
11namespace pp {
12
13class Instance;
14class NetworkList;
15
16template <typename T> class CompletionCallbackWithOutput;
17
18class NetworkMonitor : public Resource {
19 public:
20  explicit NetworkMonitor(const InstanceHandle& instance);
21
22  int32_t UpdateNetworkList(
23      const CompletionCallbackWithOutput<NetworkList>& callback);
24
25  // Returns true if the required interface is available.
26  static bool IsAvailable();
27};
28
29}  // namespace pp
30
31#endif  // PPAPI_CPP_NETWORK_MONITOR_H_
32