58#ifndef OPENSWMM_IOUTPUT_PLUGIN_HPP
59#define OPENSWMM_IOUTPUT_PLUGIN_HPP
112 virtual
int initialize(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:77
virtual ~IOutputPlugin()=default
Destroy this polymorphic instance after its callbacks and resource lifecycle finish....
virtual int update(const SimulationSnapshot &snapshot)=0
Consume one output-time snapshot on the serialized I/O worker.
virtual const char * last_error_message() const noexcept
Borrow the latest implementation error text without clearing it.
Definition IOutputPlugin.hpp:166
virtual int validate(const SimulationContext &ctx)=0
Qualify instance configuration against the loaded compatible model.
virtual int initialize(const std::vector< std::string > &init_args, const class IPluginComponentInfo *info)=0
Parse instance configuration before model validation/preparation.
virtual int finalize(const SimulationContext &ctx)=0
Finish this instance after producer/update work has stopped.
virtual int prepare(const SimulationContext &ctx)=0
Allocate/open model-dependent output resources before asynchronous updates.
virtual PluginState state() const noexcept=0
Read this implementation's current plugin lifecycle state.
Describes a plugin component: metadata, capabilities, and factory methods.
Definition IPluginComponentInfo.hpp:201
PluginState
Plugin lifecycle states.
Definition PluginState.hpp:86
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Complete simulation state snapshot at one output time step.
Definition SimulationSnapshot.hpp:123