summaryrefslogtreecommitdiffhomepage
path: root/plugin.h
diff options
context:
space:
mode:
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
+};