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 NodeCoupling.cpp:16
std::vector< DiscoveredPlugin > discover_plugins_by_id()
Enumerate every discovered plugin, grouped by plugin_id.
Definition PluginDiscovery.cpp:55
std::vector< DiscoveredFilter > discover_all_filters()
Enumerate every FileFilter advertised by every discovered plugin.
Definition PluginDiscovery.cpp:35
#define SWMM_ENGINE_API
Definition openswmm_2d.h:53
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:131
std::string plugin_version
IPluginComponentInfo::version()
Definition PluginDiscovery.hpp:133
std::string plugin_id
IPluginComponentInfo::id()
Definition PluginDiscovery.hpp:132
std::string plugin_caption
IPluginComponentInfo::caption()
Definition PluginDiscovery.hpp:134
std::vector< FileFilter > filters
Every filter the plugin advertises.
Definition PluginDiscovery.hpp:136
std::vector< PluginRole > roles
Distinct roles advertised across all filters.
Definition PluginDiscovery.hpp:135
bool is_builtin
True when the plugin was registered as an engine built-in (via PluginFactory::register_builtin_infos)...
Definition PluginDiscovery.hpp:151
A file-format filter advertised by a plugin.
Definition IPluginComponentInfo.hpp:131