21#ifndef OPENSWMM_PLUGIN_DISCOVERY_HPP
22#define OPENSWMM_PLUGIN_DISCOVERY_HPP
43#ifdef OPENSWMM_ENGINE_STATIC
44# define SWMM_ENGINE_API
47# ifdef openswmm_engine_EXPORTS
48# define SWMM_ENGINE_API __declspec(dllexport)
50# define SWMM_ENGINE_API __declspec(dllimport)
53# define SWMM_ENGINE_API __attribute__((visibility("default")))
Interface that describes a plugin component — metadata and factory methods.
Definition NodeCoupling.cpp:15
std::vector< DiscoveredPlugin > discover_plugins_by_id()
Enumerate every discovered plugin, grouped by plugin_id.
Definition PluginDiscovery.cpp:39
std::vector< DiscoveredFilter > discover_all_filters()
Enumerate every FileFilter advertised by every discovered plugin.
Definition PluginDiscovery.cpp:19
#define SWMM_ENGINE_API
Definition openswmm_2d.h:37
A FileFilter paired with the plugin id and version that emitted it.
Definition PluginDiscovery.hpp:68
bool is_builtin
Definition PluginDiscovery.hpp:79
std::string plugin_caption
IPluginComponentInfo::caption() — human-readable.
Definition PluginDiscovery.hpp:71
std::string plugin_id
IPluginComponentInfo::id() of the source plugin.
Definition PluginDiscovery.hpp:69
std::string plugin_version
IPluginComponentInfo::version() of the source plugin.
Definition PluginDiscovery.hpp:70
FileFilter filter
The advertised filter.
Definition PluginDiscovery.hpp:72
A plugin grouped by id with all the roles and filters it advertises.
Definition PluginDiscovery.hpp:115
std::string plugin_version
IPluginComponentInfo::version()
Definition PluginDiscovery.hpp:117
std::string plugin_id
IPluginComponentInfo::id()
Definition PluginDiscovery.hpp:116
std::string plugin_caption
IPluginComponentInfo::caption()
Definition PluginDiscovery.hpp:118
std::vector< FileFilter > filters
Every filter the plugin advertises.
Definition PluginDiscovery.hpp:120
std::vector< PluginRole > roles
Distinct roles advertised across all filters.
Definition PluginDiscovery.hpp:119
bool is_builtin
True when the plugin was registered as an engine built-in (via PluginFactory::register_builtin_infos)...
Definition PluginDiscovery.hpp:135
A file-format filter advertised by a plugin.
Definition IPluginComponentInfo.hpp:115