summaryrefslogtreecommitdiffhomepage
path: root/plugin.h
blob: cc685249eba4d60fc2717d487c4da907c1323561 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#include "config.h"
#include "plugin_interface.h"

#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
};