OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
PluginDiscovery.hpp
Go to the documentation of this file.
1
21#ifndef OPENSWMM_PLUGIN_DISCOVERY_HPP
22#define OPENSWMM_PLUGIN_DISCOVERY_HPP
23
24#include <string>
25#include <vector>
26
28
29namespace openswmm {
30
41 std::string plugin_id;
42 std::string plugin_version;
43 std::string plugin_caption;
45
51 bool is_builtin = false;
52};
53
63std::vector<DiscoveredFilter> discover_all_filters();
64
83 std::string plugin_id;
84 std::string plugin_version;
85 std::string plugin_caption;
86 std::vector<PluginRole> roles;
87 std::vector<FileFilter> filters;
88
102 bool is_builtin = false;
103};
104
118std::vector<DiscoveredPlugin> discover_plugins_by_id();
119
120} /* namespace openswmm */
121
122#endif /* 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