21 #ifndef LUNCHBOX_PLUGINREGISTRY_H 
   22 #define LUNCHBOX_PLUGINREGISTRY_H 
   26 #include <lunchbox/visitorResult.h>  
   27 #include <boost/noncopyable.hpp> 
   32 namespace detail { 
class PluginRegistry; }
 
   58     LUNCHBOX_API 
void addDirectory( 
const std::string& path );
 
   78     LUNCHBOX_API 
void init();
 
   81     LUNCHBOX_API 
void exit();
 
   97     LUNCHBOX_API 
const Plugins& getPlugins() 
const;
 
  100     LUNCHBOX_API 
Plugin* findPlugin( 
const uint32_t name );
 
  103     LUNCHBOX_API 
const Plugin* findPlugin( 
const uint32_t name ) 
const;
 
  106     LUNCHBOX_API 
bool addPlugin( 
const std::string& filename );
 
  109     detail::PluginRegistry* 
const impl_;
 
  112 #endif // LUNCHBOX_PLUGINREGISTRY_H 
A registry for loaded plugins. 
 
Defines export visibility macros for Lunchbox. 
 
Basic type definitions not provided by the operating system. 
 
std::vector< std::string > Strings
A vector of std::strings. 
 
LUNCHBOX_API void addDirectory(const std::string &path)
Add a new directory to search for compressor DSOs during init(). 
 
LUNCHBOX_API PluginRegistry()
Construct a new plugin registry. 
 
Visitor for all plugins and compressors of a Plugin or PluginRegistry. 
 
LUNCHBOX_API ~PluginRegistry()
Destruct this plugin registry. 
 
LUNCHBOX_API VisitorResult accept(PluginVisitor &visitor)
Visit all plugins and compressors. 
 
VisitorResult
The result code from any visit operation. 
 
Holder for all functions and information of one compression plugin DSO. 
 
LUNCHBOX_API const Strings & getDirectories() const 
 
LUNCHBOX_API bool addLunchboxPlugins()
Add the lunchbox library plugins to this registry. 
 
LUNCHBOX_API void removeDirectory(const std::string &path)
Remove a plugin directory.