Sane C++ Libraries
C++ Platform Abstraction Libraries
SC::PluginDynamicLibrary Struct Reference

A plugin dynamic library loaded from a SC::PluginRegistry. More...

#include <Plugin.h>

Public Member Functions

template<typename T >
bool queryInterface (T *&outInterface) const
 Try to obtain a given interface as exported by a plugin through SC_PLUGIN_EXPORT_INTERFACES macro. More...
 

Public Attributes

PluginDefinition definition
 Definition of the loaded plugin. More...
 
SystemDynamicLibrary dynamicLibrary
 System handle of plugin's dynamic library. More...
 
Time::Absolute lastLoadTime
 Last time when this plugin was last loaded. More...
 
uint32_t numReloads
 Number of times that the plugin has been hot-reloaded. More...
 
String lastErrorLog
 Last error log of compiler / linker (if any) More...
 

Friends

struct PluginRegistry
 

Detailed Description

A plugin dynamic library loaded from a SC::PluginRegistry.

Member Function Documentation

◆ queryInterface()

template<typename T >
bool SC::PluginDynamicLibrary::queryInterface ( T *&  outInterface) const
inline

Try to obtain a given interface as exported by a plugin through SC_PLUGIN_EXPORT_INTERFACES macro.

Parameters
[out]outInterfacePointer to the interface that will be returned by the plugin, if it exists
Returns
true if the plugin is loaded and the requested interface is implemented by the plugin itself

Member Data Documentation

◆ definition

PluginDefinition SC::PluginDynamicLibrary::definition

Definition of the loaded plugin.

◆ dynamicLibrary

SystemDynamicLibrary SC::PluginDynamicLibrary::dynamicLibrary

System handle of plugin's dynamic library.

◆ lastErrorLog

String SC::PluginDynamicLibrary::lastErrorLog

Last error log of compiler / linker (if any)

◆ lastLoadTime

Time::Absolute SC::PluginDynamicLibrary::lastLoadTime

Last time when this plugin was last loaded.

◆ numReloads

uint32_t SC::PluginDynamicLibrary::numReloads

Number of times that the plugin has been hot-reloaded.


The documentation for this struct was generated from the following file: