aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/attr_sql/sql_attribute.h
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2015-02-04 11:38:58 +0100
committerMartin Willi <martin@revosec.ch>2015-02-20 13:34:56 +0100
commit88a06a35965473a4e2e2833e6849f76b23349924 (patch)
tree28dddaedb702fb87eb2b49c1183348c05a2b7de4 /src/libcharon/plugins/attr_sql/sql_attribute.h
parenta75980c4aaa7a31dc1455a01abbf36547c9c8bf2 (diff)
parentb9be25ea394f3f18d1e7ffc22f10dfe80d67e2fa (diff)
downloadstrongswan-88a06a35965473a4e2e2833e6849f76b23349924.tar.bz2
strongswan-88a06a35965473a4e2e2833e6849f76b23349924.tar.xz
Merge branch 'attr-migrate'
Migrates the attribute framework and associated plugins from libhydra back to libcharon. libcharon is the only user of this framework since pluto is gone. With these changes, we can pass the full IKE_SA state to attribute providers and handlers, bringing more flexibility to these plugins.
Diffstat (limited to 'src/libcharon/plugins/attr_sql/sql_attribute.h')
-rw-r--r--src/libcharon/plugins/attr_sql/sql_attribute.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/libcharon/plugins/attr_sql/sql_attribute.h b/src/libcharon/plugins/attr_sql/sql_attribute.h
new file mode 100644
index 000000000..ca87eb27e
--- /dev/null
+++ b/src/libcharon/plugins/attr_sql/sql_attribute.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2008 Martin Willi
+ * Hochschule fuer Technik Rapperswil
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ */
+
+/**
+ * @defgroup sql_attribute sql_attribute
+ * @{ @ingroup attr_sql
+ */
+
+#ifndef SQL_ATTRIBUTE_H_
+#define SQL_ATTRIBUTE_H_
+
+#include <attributes/attribute_provider.h>
+#include <database/database.h>
+
+typedef struct sql_attribute_t sql_attribute_t;
+
+/**
+ * SQL database based IKEv2 cfg attribute provider.
+ */
+struct sql_attribute_t {
+
+ /**
+ * Implements attribute provider interface
+ */
+ attribute_provider_t provider;
+
+ /**
+ * Destroy a sql_attribute instance.
+ */
+ void (*destroy)(sql_attribute_t *this);
+};
+
+/**
+ * Create a sql_attribute instance.
+ */
+sql_attribute_t *sql_attribute_create(database_t *db);
+
+#endif /** SQL_ATTRIBUTE_H_ @}*/