21#ifndef OPENSWMM_PLUGIN_DISCOVERY_HPP
22#define OPENSWMM_PLUGIN_DISCOVERY_HPP
Interface that describes a plugin component — metadata and factory methods.
Definition NodeCoupling.cpp:15
std::vector< DiscoveredFilter > discover_all_filters()
Enumerate every FileFilter advertised by every discovered plugin.
Definition PluginDiscovery.cpp:19
std::vector< DiscoveredPlugin > discover_plugins_by_id()
Enumerate every discovered plugin, grouped by plugin_id.
Definition PluginDiscovery.cpp:39
A FileFilter paired with the plugin id and version that emitted it.
Definition PluginDiscovery.hpp:40
bool is_builtin
Definition PluginDiscovery.hpp:51
std::string plugin_caption
IPluginComponentInfo::caption() — human-readable.
Definition PluginDiscovery.hpp:43
std::string plugin_id
IPluginComponentInfo::id() of the source plugin.
Definition PluginDiscovery.hpp:41
std::string plugin_version
IPluginComponentInfo::version() of the source plugin.
Definition PluginDiscovery.hpp:42
FileFilter filter
The advertised filter.
Definition PluginDiscovery.hpp:44
A plugin grouped by id with all the roles and filters it advertises.
Definition PluginDiscovery.hpp:82
std::string plugin_version
IPluginComponentInfo::version()
Definition PluginDiscovery.hpp:84
std::string plugin_id
IPluginComponentInfo::id()
Definition PluginDiscovery.hpp:83
std::string plugin_caption
IPluginComponentInfo::caption()
Definition PluginDiscovery.hpp:85
std::vector< FileFilter > filters
Every filter the plugin advertises.
Definition PluginDiscovery.hpp:87
std::vector< PluginRole > roles
Distinct roles advertised across all filters.
Definition PluginDiscovery.hpp:86
bool is_builtin
True when the plugin was registered as an engine built-in (via PluginFactory::register_builtin_infos)...
Definition PluginDiscovery.hpp:102
A file-format filter advertised by a plugin.
Definition IPluginComponentInfo.hpp:115