40#ifndef OPENSWMM_IOUTPUT_PLUGIN_HPP
41#define OPENSWMM_IOUTPUT_PLUGIN_HPP
49namespace openswmm {
struct SimulationContext; }
92 const std::vector<std::
string>& init_args,
Plugin lifecycle state enumerator.
Read-only snapshot of simulation state passed to plugins.
Interface for output-writing plugins.
Definition IOutputPlugin.hpp:57
virtual ~IOutputPlugin()=default
virtual int update(const SimulationSnapshot &snapshot)=0
Write one output snapshot. Called from the IO thread.
virtual const char * last_error_message() const noexcept
Get the last error message from this plugin instance.
Definition IOutputPlugin.hpp:161
virtual int validate(const SimulationContext &ctx)=0
Validate plugin configuration against the simulation model.
virtual int initialize(const std::vector< std::string > &init_args, const class IPluginComponentInfo *info)=0
Initialize the plugin from command-line-style arguments.
virtual int finalize(const SimulationContext &ctx)=0
Flush and close output file(s). Called from main thread.
virtual int prepare(const SimulationContext &ctx)=0
Open output file(s) and write headers.
virtual PluginState state() const noexcept=0
Query the current plugin state.
Describes a plugin component: metadata, capabilities, and factory methods.
Definition IPluginComponentInfo.hpp:57
PluginState
Plugin lifecycle states.
Definition PluginState.hpp:67
Definition Controls.cpp:24
Central, reentrant simulation context.
Definition SimulationContext.hpp:141
Complete simulation state snapshot at one output time step.
Definition SimulationSnapshot.hpp:90