19#ifndef OPENSWMM_ENGINE_DEFAULT_REPORT_PLUGIN_HPP
20#define OPENSWMM_ENGINE_DEFAULT_REPORT_PLUGIN_HPP
22#include "../../../include/openswmm/plugin_sdk/IReportPlugin.hpp"
40 int initialize(
const std::vector<std::string>& init_args,
52 return last_error_.c_str();
56 std::string rpt_path_;
58 std::string last_error_;
59 std::time_t wall_start_ = 0;
Default report plugin: writes SWMM 5.x compatible .rpt report file.
Definition DefaultReportPlugin.hpp:33
PluginState state() const noexcept override
Query the current plugin state.
Definition DefaultReportPlugin.hpp:38
int write_summary(const SimulationContext &ctx) override
Write the summary statistics table to the .rpt file.
Definition DefaultReportPlugin.cpp:110
int prepare(const SimulationContext &ctx) override
Open report file(s) and write any headers.
Definition DefaultReportPlugin.cpp:90
int update(const SimulationSnapshot &snapshot) override
Accumulate data from one output step. Called from IO thread.
Definition DefaultReportPlugin.cpp:96
int validate(const SimulationContext &ctx) override
Validate configuration against the loaded model.
Definition DefaultReportPlugin.cpp:85
int finalize(const SimulationContext &ctx) override
Flush and close report file(s).
Definition DefaultReportPlugin.cpp:101
~DefaultReportPlugin() override=default
int initialize(const std::vector< std::string > &init_args, const IPluginComponentInfo *info) override
Definition DefaultReportPlugin.cpp:79
const char * last_error_message() const noexcept override
Get the last error message.
Definition DefaultReportPlugin.hpp:51
Describes a plugin component: metadata, capabilities, and factory methods.
Definition IPluginComponentInfo.hpp:57
Interface for report-writing plugins.
Definition IReportPlugin.hpp:45
PluginState
Plugin lifecycle states.
Definition PluginState.hpp:67
@ UNLOADED
Library not yet loaded (or was closed).
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