CatapultServer  v0.5.0.1 (Elephant)
catapult::plugins::PluginModule Class Reference

A plugin module. More...

Public Member Functions

 PluginModule ()=default
 Creates an unloaded module. More...
 
 PluginModule (const std::string &directory, const std::string &name)
 Creates a loaded module around a plugin named name in directory. More...
 
bool isLoaded () const
 Returns true if this module wraps a loaded system module. More...
 
template<typename TFunc >
TFunc symbol (const char *symbolName) const
 Gets a symbol of the specified type named symbolName. More...
 
void release ()
 Releases the module. More...
 

Private Member Functions

void * symbolVoid (const char *symbolName) const
 

Private Attributes

std::shared_ptr< void > m_pModule
 

Detailed Description

A plugin module.

Constructor & Destructor Documentation

◆ PluginModule() [1/2]

catapult::plugins::PluginModule::PluginModule ( )
default

Creates an unloaded module.

◆ PluginModule() [2/2]

catapult::plugins::PluginModule::PluginModule ( const std::string &  directory,
const std::string &  name 
)

Creates a loaded module around a plugin named name in directory.

Here is the call graph for this function:

Member Function Documentation

◆ isLoaded()

bool catapult::plugins::PluginModule::isLoaded ( ) const
inline

Returns true if this module wraps a loaded system module.

◆ release()

void catapult::plugins::PluginModule::release ( )

Releases the module.

◆ symbol()

template<typename TFunc >
TFunc catapult::plugins::PluginModule::symbol ( const char *  symbolName) const
inline

Gets a symbol of the specified type named symbolName.

Here is the call graph for this function:

◆ symbolVoid()

void * catapult::plugins::PluginModule::symbolVoid ( const char *  symbolName) const
private
Here is the caller graph for this function:

Member Data Documentation

◆ m_pModule

std::shared_ptr<void> catapult::plugins::PluginModule::m_pModule
private

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