25 #ifndef PLUMA_PLUGIN_MANAGER_HPP
26 #define PLUMA_PLUGIN_MANAGER_HPP
31 #include <Pluma/Config.hpp>
32 #include <Pluma/Host.hpp>
71 bool load(
const std::string& path);
91 bool load(
const std::string& folder,
const std::string& pluginName);
107 int loadFromFolder(
const std::string& folder,
bool recursive =
false);
123 bool unload(
const std::string& pluginName);
142 bool addProvider(
Provider* provider);
150 void getLoadedPlugins(std::vector<const std::string*>& pluginNames)
const;
158 bool isLoaded(
const std::string& pluginName)
const;
181 void registerType(
const std::string& type,
unsigned int version,
unsigned int lowestVersion);
194 const std::list<Provider*>* getProviders(
const std::string& type)
const;
212 static std::string getPluginName(
const std::string& path);
229 static std::string resolvePathExtension(
const std::string& path);
235 typedef bool fnRegisterPlugin(
Host&);
236 typedef std::map<std::string,DLibrary*> LibMap;
245 #endif // PLUMA_PLUGIN_MANAGER_HPP
Interface to provide applications with objects from plugins.