![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
A plugin grouped by id with all the roles and filters it advertises. More...
#include <PluginDiscovery.hpp>
Public Attributes | |
| std::string | plugin_id |
| IPluginComponentInfo::id() | |
| std::string | plugin_version |
| IPluginComponentInfo::version() | |
| std::string | plugin_caption |
| IPluginComponentInfo::caption() | |
| std::vector< PluginRole > | roles |
| Distinct roles advertised across all filters. | |
| std::vector< FileFilter > | filters |
| Every filter the plugin advertises. | |
| bool | is_builtin = false |
| True when the plugin was registered as an engine built-in (via PluginFactory::register_builtin_infos) rather than discovered through the on-disk shared-library scan. | |
A plugin grouped by id with all the roles and filters it advertises.
Companion view to DiscoveredFilter for hosts that need to reason about plugin capabilities at the plugin level rather than per-filter. The driving use case is detecting tri-role plugins (e.g., the GeoPackage trio sharing a single plugin_id) so a GUI can offer a "single container" toggle when one plugin handles INPUT_READ + REPORT_WRITE + OUTPUT_WRITE for the same extension.
A plugin appears once per plugin_id, with roles and filters accumulated across every IPluginComponentInfo registered under that id.
| std::vector<FileFilter> openswmm::DiscoveredPlugin::filters |
Every filter the plugin advertises.
| bool openswmm::DiscoveredPlugin::is_builtin = false |
True when the plugin was registered as an engine built-in (via PluginFactory::register_builtin_infos) rather than discovered through the on-disk shared-library scan.
Slice RC.3 (APPROVED 2026-05-25). Hosts use this to gate UI affordances that don't make sense for built-ins — e.g. the Simulation Options Plugins-tab Remove button cannot dlclose a statically-linked plugin, so it's greyed out when is_builtin == true. The default (false) keeps older callers' behavior unchanged: any plugin discovered via the directory scan is treated as a non-builtin.
| std::string openswmm::DiscoveredPlugin::plugin_caption |
| std::string openswmm::DiscoveredPlugin::plugin_id |
| std::string openswmm::DiscoveredPlugin::plugin_version |
| std::vector<PluginRole> openswmm::DiscoveredPlugin::roles |
Distinct roles advertised across all filters.