1 #ifndef PLUGINHANDLER_H_
2 #define PLUGINHANDLER_H_
7 #include <boost/any.hpp>
9 #include "../Utils/VersionCompare.h"
24 std::map<std::string, std::function<boost::any(boost::any)>>
Methods;
43 bool IsLoaded(std::string pluginName, std::string minVersion =
"");
52 boost::any
CallMethod(std::string pluginName, std::string methodName, boost::any params);
55 std::map<std::string, PluginInfo>*
plugins;
58 #endif // PLUGINHANDLER_H_
boost::any CallMethod(std::string pluginName, std::string methodName, boost::any params)
Calls method on a different plugin.
Definition: PluginHandler.cpp:31
std::string Author
Plugin author (from instance).
Definition: PluginHandler.h:18
std::string Description
Plugin description (from instance).
Definition: PluginHandler.h:19
std::map< std::string, PluginInfo > * plugins
Pointer to the plugin list.
Definition: PluginHandler.h:55
PluginHandler(std::map< std::string, PluginInfo > *pluginList)
Handler constructor.
Definition: PluginHandler.cpp:3
void * Handle
Handle (from dlopen) of the plugin.
Definition: PluginHandler.h:22
Definition: PluginHandler.h:27
Struct with information about a plugin.
Definition: PluginHandler.h:15
void * Instance
Instance of the plugin.
Definition: PluginHandler.h:21
std::map< std::string, std::function< boost::any(boost::any)> > Methods
Callable methods of the plugin.
Definition: PluginHandler.h:24
std::string Version
Plugin version (from instance).
Definition: PluginHandler.h:17
bool IsLoaded(std::string pluginName, std::string minVersion="")
Checks if plugin is loaded (and is proper version).
Definition: PluginHandler.cpp:8