1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file.
4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// From ppb_network_proxy.idl modified Tue Aug 20 08:13:36 2013.
6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ppapi/c/pp_completion_callback.h"
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ppapi/c/pp_errors.h"
9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ppapi/c/ppb_network_proxy.h"
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ppapi/shared_impl/tracked_callback.h"
11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ppapi/thunk/enter.h"
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ppapi/thunk/ppapi_thunk_export.h"
13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ppapi/thunk/ppb_network_proxy_api.h"
14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace ppapi {
16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace thunk {
17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace {
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochint32_t GetProxyForURL(PP_Instance instance,
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                       struct PP_Var url,
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                       struct PP_Var* proxy_string,
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                       struct PP_CompletionCallback callback) {
24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  VLOG(4) << "PPB_NetworkProxy::GetProxyForURL()";
25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  EnterInstanceAPI<PPB_NetworkProxy_API> enter(instance, callback);
26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  if (enter.failed())
27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    return enter.retval();
28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return enter.SetResult(enter.functions()->GetProxyForURL(instance,
29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                                                           url,
30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                                                           proxy_string,
31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                                                           enter.callback()));
32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochconst PPB_NetworkProxy_1_0 g_ppb_networkproxy_thunk_1_0 = {
35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  &GetProxyForURL
36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch};
37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}  // namespace
39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)PPAPI_THUNK_EXPORT const PPB_NetworkProxy_1_0*
415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    GetPPB_NetworkProxy_1_0_Thunk() {
42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return &g_ppb_networkproxy_thunk_1_0;
43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
45eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}  // namespace thunk
46eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}  // namespace ppapi
47