OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
PluginDiscovery.hpp File Reference

Public, framework-free facade for enumerating plugin file filters. More...

#include <string>
#include <vector>
#include "IPluginComponentInfo.hpp"
Include dependency graph for PluginDiscovery.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::DiscoveredFilter
 A FileFilter paired with the plugin id and version that emitted it. More...
 
struct  openswmm::DiscoveredPlugin
 A plugin grouped by id with all the roles and filters it advertises. More...
 

Namespaces

namespace  openswmm
 

Functions

std::vector< DiscoveredFilteropenswmm::discover_all_filters ()
 Enumerate every FileFilter advertised by every discovered plugin.
 
std::vector< DiscoveredPluginopenswmm::discover_plugins_by_id ()
 Enumerate every discovered plugin, grouped by plugin_id.
 

Detailed Description

Public, framework-free facade for enumerating plugin file filters.

Hosts (Qt GUIs, CLI tools, Python bindings) typically only need to know what file formats the engine and its plugins handle, not the full lifecycle. This header exposes a one-shot discovery facade that walks every built-in default plugin plus every on-disk plugin shared library, and returns the flat list of FileFilter entries each plugin advertises.

Internally this constructs a transient PluginFactory, so calling discover_all_filters() triggers a directory scan. Callers should cache the result.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License