Describes a plugin component: metadata, capabilities, and factory methods.
More...
#include <IPluginComponentInfo.hpp>
|
| virtual | ~IPluginComponentInfo ()=default |
| |
| virtual std::string | id () const =0 |
| | Unique plugin identifier in reverse-DNS notation.
|
| |
| virtual std::string | caption () const =0 |
| | Human-readable display name of the plugin.
|
| |
| virtual std::string | description () const =0 |
| | Detailed description of what this plugin does.
|
| |
| virtual std::string | version () const =0 |
| | Plugin version string (Semantic Versioning recommended).
|
| |
| virtual std::string | vendor () const =0 |
| | Vendor / author name.
|
| |
| virtual std::string | url () const =0 |
| | URL to the plugin's home page or documentation.
|
| |
| virtual std::vector< std::string > | tags () const |
| | Additional tags or keywords for discovery.
|
| |
| virtual std::string | license_type () const =0 |
| | SPDX license identifier for this plugin.
|
| |
| virtual std::string | license_text () const =0 |
| | Full license text for this plugin.
|
| |
| virtual bool | provides_output () const =0 |
| | Returns true if this plugin provides an IOutputPlugin instance.
|
| |
| virtual bool | provides_report () const =0 |
| | Returns true if this plugin provides an IReportPlugin instance.
|
| |
| virtual IOutputPlugin * | create_output_plugin () const |
| | Create a new IOutputPlugin instance.
|
| |
| virtual IReportPlugin * | create_report_plugin () const |
| | Create a new IReportPlugin instance.
|
| |
Describes a plugin component: metadata, capabilities, and factory methods.
Plugins implement this class and export it via openswmm_plugin_info(). The PluginFactory uses it to discover capabilities and create instances.
- Note
- Implement this as a singleton — the PluginFactory holds one pointer to the IPluginComponentInfo and may call create_*_plugin() multiple times.
◆ ~IPluginComponentInfo()
| virtual openswmm::IPluginComponentInfo::~IPluginComponentInfo |
( |
| ) |
|
|
virtualdefault |
◆ caption()
| virtual std::string openswmm::IPluginComponentInfo::caption |
( |
| ) |
const |
|
pure virtual |
Human-readable display name of the plugin.
- Returns
- e.g. "HDF5 Output Plugin"
◆ create_output_plugin()
| virtual IOutputPlugin * openswmm::IPluginComponentInfo::create_output_plugin |
( |
| ) |
const |
|
inlinevirtual |
◆ create_report_plugin()
| virtual IReportPlugin * openswmm::IPluginComponentInfo::create_report_plugin |
( |
| ) |
const |
|
inlinevirtual |
◆ description()
| virtual std::string openswmm::IPluginComponentInfo::description |
( |
| ) |
const |
|
pure virtual |
Detailed description of what this plugin does.
◆ id()
| virtual std::string openswmm::IPluginComponentInfo::id |
( |
| ) |
const |
|
pure virtual |
Unique plugin identifier in reverse-DNS notation.
- Returns
- e.g. "org.hydrocouple.openswmm.plugins.hdf5output"
◆ license_text()
| virtual std::string openswmm::IPluginComponentInfo::license_text |
( |
| ) |
const |
|
pure virtual |
Full license text for this plugin.
Return the complete license text (or a URL to it).
- Returns
- License text string.
◆ license_type()
| virtual std::string openswmm::IPluginComponentInfo::license_type |
( |
| ) |
const |
|
pure virtual |
SPDX license identifier for this plugin.
- Returns
- e.g. "MIT", "GPL-3.0-only", "LicenseRef-Commercial"
- See also
- https://spdx.org/licenses/
◆ provides_output()
| virtual bool openswmm::IPluginComponentInfo::provides_output |
( |
| ) |
const |
|
pure virtual |
Returns true if this plugin provides an IOutputPlugin instance.
An output plugin writes simulation result time series to a file or data store during simulation (via the IO thread).
◆ provides_report()
| virtual bool openswmm::IPluginComponentInfo::provides_report |
( |
| ) |
const |
|
pure virtual |
Returns true if this plugin provides an IReportPlugin instance.
A report plugin writes summary statistics at the end of a simulation run.
◆ tags()
| virtual std::vector< std::string > openswmm::IPluginComponentInfo::tags |
( |
| ) |
const |
|
inlinevirtual |
Additional tags or keywords for discovery.
- Returns
- Vector of keyword strings.
◆ url()
| virtual std::string openswmm::IPluginComponentInfo::url |
( |
| ) |
const |
|
pure virtual |
URL to the plugin's home page or documentation.
- Returns
- e.g. "https://hydrocouple.org/plugins/hdf5"
◆ vendor()
| virtual std::string openswmm::IPluginComponentInfo::vendor |
( |
| ) |
const |
|
pure virtual |
Vendor / author name.
- Returns
- e.g. "HydroCouple Consortium"
◆ version()
| virtual std::string openswmm::IPluginComponentInfo::version |
( |
| ) |
const |
|
pure virtual |
Plugin version string (Semantic Versioning recommended).
- Returns
- e.g. "1.0.0"
The documentation for this class was generated from the following file: