Enable dynamic registration of StrongswanConnection(s) type.
[strongswan.git] / src / frontends / maemo / src / strongswan-connections.h
1 /*
2 * Copyright (C) 2010 Tobias Brunner
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 #ifndef __STRONGSWAN_CONNECTIONS_H__
17 #define __STRONGSWAN_CONNECTIONS_H__
18
19 #include <gtk/gtk.h>
20
21 #include "strongswan-connection.h"
22
23 G_BEGIN_DECLS
24
25 #define STRONGSWAN_TYPE_CONNECTIONS (strongswan_connections_get_type ())
26 #define STRONGSWAN_CONNECTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STRONGSWAN_TYPE_CONNECTIONS, StrongswanConnections))
27 #define STRONGSWAN_CONNECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STRONGSWAN_TYPE_CONNECTIONS, StrongswanConnectionsClass))
28 #define STRONGSWAN_IS_CONNECTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STRONGSWAN_TYPE_CONNECTIONS))
29 #define STRONGSWAN_IS_CONNECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STRONGSWAN_TYPE_CONNECTIONS))
30 #define STRONGSWAN_CONNECTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STRONGSWAN_TYPE_CONNECTIONS, StrongswanConnectionsClass))
31
32 typedef struct _StrongswanConnections StrongswanConnections;
33 typedef struct _StrongswanConnectionsClass StrongswanConnectionsClass;
34 typedef struct _StrongswanConnectionsPrivate StrongswanConnectionsPrivate;
35
36 struct _StrongswanConnections
37 {
38 GObject gobject;
39
40 StrongswanConnectionsPrivate *priv;
41 };
42
43 struct _StrongswanConnectionsClass
44 {
45 GObjectClass parent_class;
46 };
47
48 GType strongswan_connections_get_type (void);
49
50 StrongswanConnections *strongswan_connections_new (void);
51
52 GtkTreeModel *strongswan_connections_get_model (StrongswanConnections *connections);
53 void strongswan_connections_setup_column_renderers (StrongswanConnections *connections, GtkCellLayout *layout);
54
55 StrongswanConnection *strongswan_connections_get_connection (StrongswanConnections *self, const gchar *name);
56 void strongswan_connections_save_connection (StrongswanConnections *self, StrongswanConnection *conn);
57 void strongswan_connections_remove_connection (StrongswanConnections *self, const gchar *name);
58
59 #ifdef USE_DYNAMIC_TYPES
60 void strongswan_connections_register (GTypeModule *type_module);
61 #endif
62
63 G_END_DECLS
64
65 #endif /* __STRONGSWAN_CONNECTIONS_H__ */