summaryrefslogtreecommitdiffhomepage
path: root/plugin.h
diff options
context:
space:
mode:
authorRoland Reichwein <mail@reichwein.it>2020-04-04 13:21:59 +0200
committerRoland Reichwein <mail@reichwein.it>2020-04-04 13:21:59 +0200
commit95d5acc8c7e60255b19e7084e374eb26cc5d0ba3 (patch)
treed2ebf474c5076341a30cdeb8035f1843db240d16 /plugin.h
parent2be63668af1cadf846ae2d44a0fd5c909ceaf47e (diff)
Versioned plugins
Diffstat (limited to 'plugin.h')
-rw-r--r--plugin.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/plugin.h b/plugin.h
index 1c88ff9..cc68524 100644
--- a/plugin.h
+++ b/plugin.h
@@ -1,5 +1,21 @@
#pragma once
#include "config.h"
+#include "plugin_interface.h"
-void load_plugins(Config& config);
+#include <boost/shared_ptr.hpp>
+
+#include <memory>
+#include <unordered_map>
+
+class PluginLoader
+{
+ Config& m_config;
+ std::unordered_map<std::string, boost::shared_ptr<webserver_plugin_interface>> m_plugins;
+
+public:
+ PluginLoader(Config& config);
+
+ void load_plugins(); // Load all plugins from configured paths
+ bool validate_config(); // Check if all configured plugins exist
+};