1 // Copyright 2014 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.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_VPN_PROVIDER_VPN_PROVIDER_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_VPN_PROVIDER_VPN_PROVIDER_API_H_
8 #include "extensions/browser/extension_function.h"
10 namespace extensions {
12 class VpnProviderCreateConfigFunction : public UIThreadExtensionFunction {
14 DECLARE_EXTENSION_FUNCTION("vpnProvider.createConfig",
15 VPNPROVIDER_CREATECONFIG);
18 virtual ~VpnProviderCreateConfigFunction();
20 virtual ExtensionFunction::ResponseAction Run() override;
23 class VpnProviderDestroyConfigFunction : public UIThreadExtensionFunction {
25 DECLARE_EXTENSION_FUNCTION("vpnProvider.destroyConfig",
26 VPNPROVIDER_DESTROYCONFIG);
29 virtual ~VpnProviderDestroyConfigFunction();
31 virtual ExtensionFunction::ResponseAction Run() override;
34 class VpnProviderSetParametersFunction : public UIThreadExtensionFunction {
36 DECLARE_EXTENSION_FUNCTION("vpnProvider.setParameters",
37 VPNPROVIDER_SETPARAMETERS);
40 virtual ~VpnProviderSetParametersFunction();
42 virtual ExtensionFunction::ResponseAction Run() override;
45 class VpnProviderSendPacketFunction : public UIThreadExtensionFunction {
47 DECLARE_EXTENSION_FUNCTION("vpnProvider.sendPacket", VPNPROVIDER_SENDPACKET);
50 virtual ~VpnProviderSendPacketFunction();
52 virtual ExtensionFunction::ResponseAction Run() override;
55 class VpnProviderNotifyConnectionStateChangedFunction
56 : public UIThreadExtensionFunction {
58 DECLARE_EXTENSION_FUNCTION("vpnProvider.notifyConnectionStateChanged",
59 VPNPROVIDER_NOTIFYCONNECTIONSTATECHANGED);
62 virtual ~VpnProviderNotifyConnectionStateChangedFunction();
64 virtual ExtensionFunction::ResponseAction Run() override;
67 } // namespace extensions
69 #endif // CHROME_BROWSER_EXTENSIONS_API_VPN_PROVIDER_VPN_PROVIDER_API_H_