Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / extensions / browser / api / vpn_provider / vpn_provider_api.h
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.
4
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_VPN_PROVIDER_VPN_PROVIDER_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_VPN_PROVIDER_VPN_PROVIDER_API_H_
7
8 #include "extensions/browser/extension_function.h"
9
10 namespace extensions {
11
12 class VpnProviderCreateConfigFunction : public UIThreadExtensionFunction {
13  public:
14   DECLARE_EXTENSION_FUNCTION("vpnProvider.createConfig",
15                              VPNPROVIDER_CREATECONFIG);
16
17  protected:
18   virtual ~VpnProviderCreateConfigFunction();
19
20   virtual ExtensionFunction::ResponseAction Run() override;
21 };
22
23 class VpnProviderDestroyConfigFunction : public UIThreadExtensionFunction {
24  public:
25   DECLARE_EXTENSION_FUNCTION("vpnProvider.destroyConfig",
26                              VPNPROVIDER_DESTROYCONFIG);
27
28  protected:
29   virtual ~VpnProviderDestroyConfigFunction();
30
31   virtual ExtensionFunction::ResponseAction Run() override;
32 };
33
34 class VpnProviderSetParametersFunction : public UIThreadExtensionFunction {
35  public:
36   DECLARE_EXTENSION_FUNCTION("vpnProvider.setParameters",
37                              VPNPROVIDER_SETPARAMETERS);
38
39  protected:
40   virtual ~VpnProviderSetParametersFunction();
41
42   virtual ExtensionFunction::ResponseAction Run() override;
43 };
44
45 class VpnProviderSendPacketFunction : public UIThreadExtensionFunction {
46  public:
47   DECLARE_EXTENSION_FUNCTION("vpnProvider.sendPacket", VPNPROVIDER_SENDPACKET);
48
49  protected:
50   virtual ~VpnProviderSendPacketFunction();
51
52   virtual ExtensionFunction::ResponseAction Run() override;
53 };
54
55 class VpnProviderNotifyConnectionStateChangedFunction
56     : public UIThreadExtensionFunction {
57  public:
58   DECLARE_EXTENSION_FUNCTION("vpnProvider.notifyConnectionStateChanged",
59                              VPNPROVIDER_NOTIFYCONNECTIONSTATECHANGED);
60
61  protected:
62   virtual ~VpnProviderNotifyConnectionStateChangedFunction();
63
64   virtual ExtensionFunction::ResponseAction Run() override;
65 };
66
67 }  // namespace extensions
68
69 #endif  // CHROME_BROWSER_EXTENSIONS_API_VPN_PROVIDER_VPN_PROVIDER_API_H_