#pragma once #include "config.h" #include "plugin_interface.h" #include #include #include typedef boost::shared_ptr plugin_type; typedef std::unordered_map plugins_container_type; class PluginLoader { Config& m_config; plugins_container_type m_plugins; public: PluginLoader(Config& config); void load_plugins(); // Load all plugins from configured paths bool validate_config(); // Check if all configured plugins exist plugins_container_type& get_plugins(); };