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