fourdst_plugin 0.0.1a
C++ Plugin Manager
Loading...
Searching...
No Matches
fourdst::plugin::IPluginBase Class Reference

Base class providing default implementations for plugin identification. More...

#include <plugin_factory.h>

Inheritance diagram for fourdst::plugin::IPluginBase:
fourdst::plugin::IPlugin fourdst::plugin::PluginBase fourdst::plugin::templates::FunctorPlugin_T< T >

Public Member Functions

 IPluginBase (const char *plugin_name, const char *plugin_version)
 
const char * get_name () const override
 Get the plugin name from the global variable.
 
const char * get_version () const override
 Get the plugin version from the global variable.
 
- Public Member Functions inherited from fourdst::plugin::IPlugin
virtual ~IPlugin ()=default
 Virtual destructor to ensure proper cleanup of derived classes.
 

Private Attributes

const char * m_plugin_name
 
const char * m_plugin_version
 

Detailed Description

Base class providing default implementations for plugin identification.

This class provides a convenient base for plugin implementations that automatically implements the IPlugin interface using the global plugin name and version variables. Plugin classes can inherit from this instead of directly implementing IPlugin.

Note
Plugins using this base class must use the FOURDST_DECLARE_PLUGIN macro to properly define the required global variables.

Constructor & Destructor Documentation

◆ IPluginBase()

fourdst::plugin::IPluginBase::IPluginBase ( const char * plugin_name,
const char * plugin_version )
inlineexplicit

Member Function Documentation

◆ get_name()

const char * fourdst::plugin::IPluginBase::get_name ( ) const
inlinenodiscardoverridevirtual

Get the plugin name from the global variable.

Returns
const char* The plugin name as defined by g_plugin_name
Exceptions
Neverthrows

Implements fourdst::plugin::IPlugin.

◆ get_version()

const char * fourdst::plugin::IPluginBase::get_version ( ) const
inlinenodiscardoverridevirtual

Get the plugin version from the global variable.

Returns
const char* The plugin version as defined by g_plugin_version
Exceptions
Neverthrows

Implements fourdst::plugin::IPlugin.

Member Data Documentation

◆ m_plugin_name

const char* fourdst::plugin::IPluginBase::m_plugin_name
private

◆ m_plugin_version

const char* fourdst::plugin::IPluginBase::m_plugin_version
private

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