| Index: ppapi/thunk/ppb_vpn_provider_thunk.cc
|
| diff --git a/ppapi/thunk/ppb_vpn_provider_thunk.cc b/ppapi/thunk/ppb_vpn_provider_thunk.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..449510108fbc8f8e7c960a916f9d9f685d7afe38
|
| --- /dev/null
|
| +++ b/ppapi/thunk/ppb_vpn_provider_thunk.cc
|
| @@ -0,0 +1,156 @@
|
| +// Copyright 2015 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.
|
| +
|
| +// From ppb_vpn_provider.idl modified Tue Jul 7 13:48:15 2015.
|
| +
|
| +#include "ppapi/c/pp_completion_callback.h"
|
| +#include "ppapi/c/pp_errors.h"
|
| +#include "ppapi/c/ppb_vpn_provider.h"
|
| +#include "ppapi/shared_impl/tracked_callback.h"
|
| +#include "ppapi/thunk/enter.h"
|
| +#include "ppapi/thunk/ppapi_thunk_export.h"
|
| +#include "ppapi/thunk/ppb_vpn_provider_api.h"
|
| +
|
| +namespace ppapi {
|
| +namespace thunk {
|
| +
|
| +namespace {
|
| +
|
| +PP_Resource Create(PP_Instance instance) {
|
| + VLOG(4) << "PPB_VpnProvider::Create()";
|
| + EnterResourceCreation enter(instance);
|
| + if (enter.failed())
|
| + return 0;
|
| + return enter.functions()->CreateVpnProvider(instance);
|
| +}
|
| +
|
| +PP_Bool IsVpnProvider(PP_Resource resource) {
|
| + VLOG(4) << "PPB_VpnProvider::IsVpnProvider()";
|
| + EnterResource<PPB_VpnProvider_API> enter(resource, false);
|
| + return PP_FromBool(enter.succeeded());
|
| +}
|
| +
|
| +int32_t CreateConfig(PP_Resource vpn_provider,
|
| + struct PP_Var name,
|
| + struct PP_Var* id,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::CreateConfig()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(
|
| + enter.object()->CreateConfig(name, id, enter.callback()));
|
| +}
|
| +
|
| +int32_t DestroyConfig(PP_Resource vpn_provider,
|
| + struct PP_Var id,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::DestroyConfig()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(enter.object()->DestroyConfig(id, enter.callback()));
|
| +}
|
| +
|
| +int32_t SetParameters(PP_Resource vpn_provider,
|
| + struct PP_Var address,
|
| + struct PP_Var broadcast_address,
|
| + int32_t mtu,
|
| + struct PP_Var exclusion_list,
|
| + struct PP_Var inclusion_list,
|
| + struct PP_Var domain_search,
|
| + struct PP_Var dns_servers,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::SetParameters()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(enter.object()->SetParameters(
|
| + address, broadcast_address, mtu, exclusion_list, inclusion_list,
|
| + domain_search, dns_servers, enter.callback()));
|
| +}
|
| +
|
| +int32_t SendPacket(PP_Resource vpn_provider, struct PP_Var packet) {
|
| + VLOG(4) << "PPB_VpnProvider::SendPacket()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.object()->SendPacket(packet);
|
| +}
|
| +
|
| +int32_t NotifyConnectionStateChanged(PP_Resource vpn_provider,
|
| + PP_VpnProvider_VpnConnectionState status,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::NotifyConnectionStateChanged()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(
|
| + enter.object()->NotifyConnectionStateChanged(status, enter.callback()));
|
| +}
|
| +
|
| +int32_t GetPacket(PP_Resource vpn_provider,
|
| + struct PP_Var* packet,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::GetPacket()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(enter.object()->GetPacket(packet, enter.callback()));
|
| +}
|
| +
|
| +int32_t GetPlatformMessage(PP_Resource vpn_provider,
|
| + struct PP_Var* message,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::GetPlatformMessage()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(
|
| + enter.object()->GetPlatformMessage(message, enter.callback()));
|
| +}
|
| +
|
| +int32_t GetConfigMessage(PP_Resource vpn_provider,
|
| + struct PP_Var* message,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::GetConfigMessage()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(
|
| + enter.object()->GetConfigMessage(message, enter.callback()));
|
| +}
|
| +
|
| +int32_t GetUIMessage(PP_Resource vpn_provider,
|
| + struct PP_Var* message,
|
| + struct PP_CompletionCallback callback) {
|
| + VLOG(4) << "PPB_VpnProvider::GetUIMessage()";
|
| + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true);
|
| + if (enter.failed())
|
| + return enter.retval();
|
| + return enter.SetResult(
|
| + enter.object()->GetUIMessage(message, enter.callback()));
|
| +}
|
| +
|
| +const PPB_VpnProvider_0_1 g_ppb_vpnprovider_thunk_0_1 = {
|
| + &Create,
|
| + &IsVpnProvider,
|
| + &CreateConfig,
|
| + &DestroyConfig,
|
| + &SetParameters,
|
| + &SendPacket,
|
| + &NotifyConnectionStateChanged,
|
| + &GetPacket,
|
| + &GetPlatformMessage,
|
| + &GetConfigMessage,
|
| + &GetUIMessage};
|
| +
|
| +} // namespace
|
| +
|
| +PPAPI_THUNK_EXPORT const PPB_VpnProvider_0_1* GetPPB_VpnProvider_0_1_Thunk() {
|
| + return &g_ppb_vpnprovider_thunk_0_1;
|
| +}
|
| +
|
| +} // namespace thunk
|
| +} // namespace ppapi
|
|
|