14#elif defined(__unix__) 
   18  #error "Not supported operating system" 
   44        static std::shared_ptr<Plugin> 
load(std::string file);
 
 
   77        bool loadPlugin(
const std::string& pluginName);
 
   81        std::shared_ptr<Plugin> 
getPlugin(
const char* pluginName);
 
   86        using PluginMap = std::map<std::string, std::shared_ptr<Plugin>>;
 
 
static std::shared_ptr< Plugin > load(std::string file)
 
std::string mFile
Shared library file name.
 
bool mIsLoaded
Flag to indicate whether plugin (shared library) is loaded into current process.
 
PluginEntry * mEntryPoint
Pointer to shared library factory class returned by the DLL entry-point function.
 
Plugin(Plugin const &)=delete
 
PluginEntry * getInfo() const
 
Plugin & operator=(const Plugin &)=delete
 
PluginEntry *(*)() PluginEntryFunc
Function pointer to DLL entry-point.
 
static constexpr const char * PluginEntryName
Name of DLL entry point that a Plugin should export.
 
void * mHnd
Shared library handle.
 
std::map< std::string, std::shared_ptr< Plugin > > PluginMap
 
static PluginManager * instance()
 
bool loadPlugin(const std::string &pluginName)
 
void loadPluginByPath(const std::string &pathName)
 
std::shared_ptr< Plugin > getPlugin(const char *pluginName)
 
static std::atomic< PluginManager * > pInstance
 
std::string getExtension() const
 
This is an implementation of AdditiveCCD based on peridyno.