PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::PluginManager Class Reference

Repository of plugins. It can instantiate any class from any loaded plugin by its name. More...

#include <PluginManager.h>

Public Member Functions

std::string getExtension () const
 
bool loadPlugin (const std::string &pluginName)
 
void loadPluginByPath (const std::string &pathName)
 
std::shared_ptr< PlugingetPlugin (const char *pluginName)
 

Static Public Member Functions

static PluginManagerinstance ()
 

Private Types

using PluginMap = std::map<std::string, std::shared_ptr<Plugin>>
 

Private Member Functions

 PluginManager ()
 

Private Attributes

PluginMap mPlugins
 

Static Private Attributes

static std::atomic< PluginManager * > pInstance
 
static std::mutex mMutex
 

Detailed Description

Repository of plugins. It can instantiate any class from any loaded plugin by its name.

Definition at line 70 of file PluginManager.h.

Member Typedef Documentation

◆ PluginMap

using dyno::PluginManager::PluginMap = std::map<std::string, std::shared_ptr<Plugin>>
private

Definition at line 86 of file PluginManager.h.

Constructor & Destructor Documentation

◆ PluginManager()

dyno::PluginManager::PluginManager ( )
inlineprivate

Definition at line 84 of file PluginManager.h.

Here is the caller graph for this function:

Member Function Documentation

◆ getExtension()

std::string dyno::PluginManager::getExtension ( ) const

Definition at line 103 of file PluginManager.cpp.

Here is the caller graph for this function:

◆ getPlugin()

std::shared_ptr< Plugin > dyno::PluginManager::getPlugin ( const char * pluginName)

Definition at line 157 of file PluginManager.cpp.

◆ instance()

PluginManager * dyno::PluginManager::instance ( )
static

Definition at line 88 of file PluginManager.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadPlugin()

bool dyno::PluginManager::loadPlugin ( const std::string & pluginName)

Definition at line 118 of file PluginManager.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadPluginByPath()

void dyno::PluginManager::loadPluginByPath ( const std::string & pathName)

Definition at line 136 of file PluginManager.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ mMutex

std::mutex dyno::PluginManager::mMutex
staticprivate

Definition at line 89 of file PluginManager.h.

◆ mPlugins

PluginMap dyno::PluginManager::mPlugins
private

Definition at line 91 of file PluginManager.h.

◆ pInstance

std::atomic< PluginManager * > dyno::PluginManager::pInstance
staticprivate

Definition at line 88 of file PluginManager.h.


The documentation for this class was generated from the following files: