![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Plugin loader and lifecycle manager (Phase 4, R14). More...
#include <string>#include <vector>#include <functional>Go to the source code of this file.
Classes | |
| class | openswmm::PluginFactory |
| Manages all dynamically loaded plugins for one engine instance. More... | |
Namespaces | |
| namespace | openswmm |
Plugin loader and lifecycle manager (Phase 4, R14).
PluginFactory owns all dynamically loaded plugin libraries. It is responsible for:
openswmm_plugin_info symbol to get an IPluginComponentInfo*.All lifecycle methods except update() run on the main simulation thread. update() is called from the IO thread (via IOThread). PluginFactory does NOT directly call update() — that is done by the IOThread.
If a plugin's lifecycle method returns non-zero, the plugin is transitioned to PluginState::ERROR and a warning is emitted. Non-error plugins continue. If ALL plugins error, the factory returns the last error code.