![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Describes a plugin component: metadata, capabilities, and factory methods. More...
#include <IPluginComponentInfo.hpp>
Public Member Functions | |
| virtual | ~IPluginComponentInfo ()=default |
| Destroy component metadata only through its owning library/host lifetime. PluginFactory borrows singleton metadata and does not delete it as an instance. Keep library loaded until all created plugin instances/callbacks are destroyed; base destructor performs no instance cleanup, registration or library unloading. | |
| virtual std::string | id () const =0 |
| Copy the stable discovery identifier for this component. | |
| virtual std::string | caption () const =0 |
| Copy the component display name. | |
| virtual std::string | description () const =0 |
| Copy the component's descriptive metadata. | |
| virtual std::string | version () const =0 |
| Copy the component's declared version. | |
| virtual std::string | vendor () const =0 |
| Copy declared vendor/author metadata. | |
| virtual std::string | url () const =0 |
| Copy the declared home/documentation URL. | |
| virtual std::vector< std::string > | tags () const |
| Copy optional discovery keywords. | |
| virtual std::string | license_type () const =0 |
| Copy the component's declared license identifier. | |
| virtual std::string | license_text () const =0 |
| Copy declared license text or a reference URL. | |
| virtual bool | has_input () const noexcept |
| Query whether this component advertises the input capability. | |
| virtual bool | has_output () const noexcept |
| Query whether this component advertises the output capability. | |
| virtual bool | has_report () const noexcept |
| Query whether this component advertises the report capability. | |
| virtual bool | has_state_io () const noexcept |
| Query whether this component advertises the state_io capability. | |
| virtual std::vector< FileFilter > | file_filters () const |
| Copy supported format/role filters for host discovery and file dialogs. | |
| virtual bool | register_plugin (const RegistrationInfo &info) |
| Apply implementation-defined registration data before protected factories. | |
| virtual bool | registered () const noexcept |
| Query implementation-defined registration readiness. | |
| virtual RegistrationInfo | registration_info () const |
| Copy implementation-reported current registration metadata. | |
| virtual IInputPlugin * | create_input_plugin () const |
| Allocate a distinct input plugin instance when supported and permitted. | |
| virtual IOutputPlugin * | create_output_plugin () const |
| Allocate a distinct output plugin instance when supported and permitted. | |
| virtual IReportPlugin * | create_report_plugin () const |
| Allocate a distinct report plugin instance when supported and permitted. | |
| virtual IStateIOPlugin * | create_state_io_plugin () const |
| Allocate a distinct state_io plugin instance when supported and permitted. | |
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.
|
virtualdefault |
Destroy component metadata only through its owning library/host lifetime. PluginFactory borrows singleton metadata and does not delete it as an instance. Keep library loaded until all created plugin instances/callbacks are destroyed; base destructor performs no instance cleanup, registration or library unloading.
|
pure virtual |
Copy the component display name.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtual |
Allocate a distinct input plugin instance when supported and permitted.
Reimplemented in openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtual |
Allocate a distinct output plugin instance when supported and permitted.
Reimplemented in openswmm::gpkg::GeoPackagePluginInfo.
|
inlinevirtual |
Allocate a distinct report plugin instance when supported and permitted.
Reimplemented in openswmm::gpkg::GeoPackagePluginInfo.
|
inlinevirtual |
Allocate a distinct state_io plugin instance when supported and permitted.
|
pure virtual |
Copy the component's descriptive metadata.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtual |
Copy supported format/role filters for host discovery and file dialogs.
Reimplemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtualnoexcept |
Query whether this component advertises the input capability.
Reimplemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtualnoexcept |
Query whether this component advertises the output capability.
Reimplemented in openswmm::BuiltinDefaultOutputPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtualnoexcept |
Query whether this component advertises the report capability.
Reimplemented in openswmm::BuiltinDefaultReportPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtualnoexcept |
Query whether this component advertises the state_io capability.
Reimplemented in openswmm::BuiltinDefaultStateIOPluginInfo.
|
pure virtual |
Copy the stable discovery identifier for this component.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
pure virtual |
Copy declared license text or a reference URL.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
pure virtual |
Copy the component's declared license identifier.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
inlinevirtual |
Apply implementation-defined registration data before protected factories.
| info | Borrowed registration fields for this call; copy retained data. Base ignores all fields and returns true without storing them or doing network I/O. |
Reimplemented in openswmm::gpkg::GeoPackagePluginInfo.
|
inlinevirtualnoexcept |
Query implementation-defined registration readiness.
Reimplemented in openswmm::gpkg::GeoPackagePluginInfo.
|
inlinevirtual |
Copy implementation-reported current registration metadata.
Reimplemented in openswmm::gpkg::GeoPackagePluginInfo.
|
inlinevirtual |
Copy optional discovery keywords.
Reimplemented in openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
pure virtual |
Copy the declared home/documentation URL.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
pure virtual |
Copy declared vendor/author metadata.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.
|
pure virtual |
Copy the component's declared version.
Implemented in openswmm::BuiltinDefaultInputPluginInfo, openswmm::BuiltinDefaultOutputPluginInfo, openswmm::BuiltinDefaultReportPluginInfo, openswmm::BuiltinDefaultStateIOPluginInfo, openswmm::gpkg::GeoPackagePluginInfo, and openswmm::h5io::Hdf5PluginInfo.