aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/plugin_loader.h
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-09-12 11:07:22 +0200
committerMartin Willi <martin@revosec.ch>2014-09-22 13:55:12 +0200
commit5421092b757a571d02b3160e6ae8576b655866d2 (patch)
tree7ccc569ac7b6b309441d014e2e3102637a9993f1 /src/libstrongswan/plugins/plugin_loader.h
parent73ed38e74f841471bfa9b6380e96284158e2bef4 (diff)
downloadstrongswan-5421092b757a571d02b3160e6ae8576b655866d2.tar.bz2
strongswan-5421092b757a571d02b3160e6ae8576b655866d2.tar.xz
plugin-loader: Support a reload() callback for static features
Diffstat (limited to 'src/libstrongswan/plugins/plugin_loader.h')
-rw-r--r--src/libstrongswan/plugins/plugin_loader.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libstrongswan/plugins/plugin_loader.h b/src/libstrongswan/plugins/plugin_loader.h
index fec57ce98..6be6a909c 100644
--- a/src/libstrongswan/plugins/plugin_loader.h
+++ b/src/libstrongswan/plugins/plugin_loader.h
@@ -44,6 +44,9 @@ struct plugin_loader_t {
* If critical is TRUE load() will fail if any of the added features could
* not be loaded.
*
+ * If a reload callback function is given, it gets invoked for the
+ * registered feature set when reload() is invoked on the plugin_loader.
+ *
* @note The name should be unique otherwise a plugin with the same name is
* not loaded.
*
@@ -51,10 +54,13 @@ struct plugin_loader_t {
* @param features array of plugin features
* @param count number of features in the array
* @param critical TRUE if the features are critical
+ * @param reload feature reload callback, or NULL
+ * @param reload_data user data to pass to reload callback
*/
void (*add_static_features) (plugin_loader_t *this, const char *name,
struct plugin_feature_t *features, int count,
- bool critical);
+ bool critical, bool (*reload)(void*),
+ void *reload_data);
/**
* Load a list of plugins.