21 #ifndef PRESSION_PLUGINREGISTRY_H
22 #define PRESSION_PLUGINREGISTRY_H
25 #include <pression/types.h>
31 namespace detail {
class PluginRegistry; }
57 PRESSION_API
void addDirectory(
const std::string& path );
77 PRESSION_API
void init();
80 PRESSION_API
void exit();
96 PRESSION_API
const Plugins& getPlugins()
const;
99 PRESSION_API
Plugin* findPlugin(
const uint32_t name );
102 PRESSION_API
const Plugin* findPlugin(
const uint32_t name )
const;
105 PRESSION_API
bool addPlugin(
const std::string& filename );
109 PluginRegistry operator=(
const PluginRegistry& );
110 detail::PluginRegistry*
const impl_;
113 #endif // PRESSION_PLUGINREGISTRY_H
PRESSION_API PluginRegistry()
Construct a new plugin registry.
Defines export visibility macros for library Pression.
Visitor for all plugins and compressors of a Plugin or PluginRegistry.
Holder for all functions and information of one compression plugin DSO.
PRESSION_API VisitorResult accept(PluginVisitor &visitor)
Visit all plugins and compressors.
PRESSION_API void removeDirectory(const std::string &path)
Remove a plugin directory.
PRESSION_API bool addLunchboxPlugins()
Add the lunchbox library plugins to this registry.
PRESSION_API const Strings & getDirectories() const
PRESSION_API void addDirectory(const std::string &path)
Add a new directory to search for compressor DSOs during init().
PRESSION_API ~PluginRegistry()
Destruct this plugin registry.
A registry for loaded plugins.