37#ifndef OPENSWMM_PLUGIN_DISCOVERY_HPP
38#define OPENSWMM_PLUGIN_DISCOVERY_HPP
59#ifdef OPENSWMM_ENGINE_STATIC
60#define SWMM_ENGINE_API
63#ifdef openswmm_engine_EXPORTS
64#define SWMM_ENGINE_API __declspec(dllexport)
66#define SWMM_ENGINE_API __declspec(dllimport)
69#define SWMM_ENGINE_API __attribute__((visibility("default")))
Interface that describes a plugin component — metadata and factory methods.
Definition ExchangeLaw.hpp:60
std::vector< DiscoveredPlugin > discover_plugins_by_id()
Group a fresh file-filter discovery snapshot by exact plugin ID.
Definition PluginDiscovery.cpp:56
std::vector< DiscoveredFilter > discover_all_filters()
Copy file-filter metadata from a transient builtin/dynamic plugin discovery.
Definition PluginDiscovery.cpp:35
#define SWMM_ENGINE_API
Definition openswmm_2d.h:62
A FileFilter paired with the plugin id and version that emitted it.
Definition PluginDiscovery.hpp:84
bool is_builtin
Definition PluginDiscovery.hpp:95
std::string plugin_caption
IPluginComponentInfo::caption() — human-readable.
Definition PluginDiscovery.hpp:87
std::string plugin_id
IPluginComponentInfo::id() of the source plugin.
Definition PluginDiscovery.hpp:85
std::string plugin_version
IPluginComponentInfo::version() of the source plugin.
Definition PluginDiscovery.hpp:86
FileFilter filter
The advertised filter.
Definition PluginDiscovery.hpp:88
A plugin grouped by id with all the roles and filters it advertises.
Definition PluginDiscovery.hpp:124
std::string plugin_version
IPluginComponentInfo::version()
Definition PluginDiscovery.hpp:126
std::string plugin_id
IPluginComponentInfo::id()
Definition PluginDiscovery.hpp:125
std::string plugin_caption
IPluginComponentInfo::caption()
Definition PluginDiscovery.hpp:127
std::vector< FileFilter > filters
Every filter the plugin advertises.
Definition PluginDiscovery.hpp:129
std::vector< PluginRole > roles
Distinct roles advertised across all filters.
Definition PluginDiscovery.hpp:128
bool is_builtin
True when the plugin was registered as an engine built-in (via PluginFactory::register_builtin_infos)...
Definition PluginDiscovery.hpp:144
A file-format filter advertised by a plugin.
Definition IPluginComponentInfo.hpp:137