1// Copyright (c) 2013 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_THUNK_PPB_NETWORK_PROXY_API_H_
6#define PPAPI_THUNK_PPB_NETWORK_PROXY_API_H_
7
8#include "base/basictypes.h"
9#include "base/memory/ref_counted.h"
10#include "ppapi/c/pp_instance.h"
11#include "ppapi/shared_impl/singleton_resource_id.h"
12#include "ppapi/thunk/ppapi_thunk_export.h"
13
14struct PP_Var;
15
16namespace ppapi {
17
18class TrackedCallback;
19
20namespace thunk {
21
22class PPAPI_THUNK_EXPORT PPB_NetworkProxy_API {
23 public:
24  virtual ~PPB_NetworkProxy_API() {}
25
26  virtual int32_t GetProxyForURL(PP_Instance instance,
27                                 PP_Var url,
28                                 PP_Var* proxy_string,
29                                 scoped_refptr<TrackedCallback> callback) = 0;
30
31  static const SingletonResourceID kSingletonResourceID =
32      NETWORK_PROXY_SINGLETON_ID;
33};
34
35}  // namespace thunk
36}  // namespace ppapi
37
38#endif  // PPAPI_THUNK_PPB_NETWORK_PROXY_API_H_
39