Moving charon to libcharon.
[strongswan.git] / src / libcharon / plugins / nm / nm_service.h
1 /*
2 * Copyright (C) 2008-2009 Martin Willi
3 * Hochschule fuer Technik Rapperswil
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 */
15
16 /**
17 * @defgroup nm_service nm_service
18 * @{ @ingroup nm
19 */
20
21 #ifndef NM_SERVICE_H_
22 #define NM_SERVICE_H_
23
24 #include <glib/gtypes.h>
25 #include <glib-object.h>
26 #include <nm-vpn-plugin.h>
27
28 #include "nm_creds.h"
29 #include "nm_handler.h"
30
31 #define NM_TYPE_STRONGSWAN_PLUGIN (nm_strongswan_plugin_get_type ())
32 #define NM_STRONGSWAN_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_STRONGSWAN_PLUGIN, NMSTRONGSWANPlugin))
33 #define NM_STRONGSWAN_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_STRONGSWAN_PLUGIN, NMSTRONGSWANPluginClass))
34 #define NM_IS_STRONGSWAN_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_STRONGSWAN_PLUGIN))
35 #define NM_IS_STRONGSWAN_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), NM_TYPE_STRONGSWAN_PLUGIN))
36 #define NM_STRONGSWAN_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_STRONGSWAN_PLUGIN, NMSTRONGSWANPluginClass))
37
38 #define NM_DBUS_SERVICE_STRONGSWAN "org.freedesktop.NetworkManager.strongswan"
39 #define NM_DBUS_INTERFACE_STRONGSWAN "org.freedesktop.NetworkManager.strongswan"
40 #define NM_DBUS_PATH_STRONGSWAN "/org/freedesktop/NetworkManager/strongswan"
41
42 typedef struct {
43 NMVPNPlugin parent;
44 } NMStrongswanPlugin;
45
46 typedef struct {
47 NMVPNPluginClass parent;
48 } NMStrongswanPluginClass;
49
50 GType nm_strongswan_plugin_get_type(void);
51
52 NMStrongswanPlugin *nm_strongswan_plugin_new(nm_creds_t *creds,
53 nm_handler_t *handler);
54
55 #endif /** NM_SERVICE_H_ @}*/