35#ifndef OPENSWMM_ENGINE_DEFAULT_REPORT_PLUGIN_HPP
36#define OPENSWMM_ENGINE_DEFAULT_REPORT_PLUGIN_HPP
56 int initialize(
const std::vector<std::string>& init_args,
68 return last_error_.c_str();
72 std::string rpt_path_;
74 std::string last_error_;
77 std::FILE* file_ =
nullptr;
78 std::size_t warnings_written_ = 0;
79 std::size_t errors_written_ = 0;
Interface for report-writing plugins.
PluginState state() const noexcept override
Query the current plugin state.
Definition DefaultReportPlugin.hpp:54
int write_summary(const SimulationContext &ctx) override
Write the summary statistics table to the .rpt file.
Definition DefaultReportPlugin.cpp:221
int prepare(const SimulationContext &ctx) override
Open report file(s) and write any headers.
Definition DefaultReportPlugin.cpp:177
int update(const SimulationSnapshot &snapshot) override
Accumulate data from one output step. Called from IO thread.
Definition DefaultReportPlugin.cpp:193
int validate(const SimulationContext &ctx) override
Validate configuration against the loaded model.
Definition DefaultReportPlugin.cpp:172
int finalize(const SimulationContext &ctx) override
Flush and close report file(s).
Definition DefaultReportPlugin.cpp:198
DefaultReportPlugin(std::string rpt_path)
Definition DefaultReportPlugin.cpp:152
int initialize(const std::vector< std::string > &init_args, const IPluginComponentInfo *info) override
Definition DefaultReportPlugin.cpp:166
~DefaultReportPlugin() override
Definition DefaultReportPlugin.cpp:157
const char * last_error_message() const noexcept override
Get the last error message.
Definition DefaultReportPlugin.hpp:67
Describes a plugin component: metadata, capabilities, and factory methods.
Definition IPluginComponentInfo.hpp:195
Interface for report-writing plugins.
Definition IReportPlugin.hpp:61
PluginState
Plugin lifecycle states.
Definition PluginState.hpp:83
@ UNLOADED
Library not yet loaded (or was closed).
Definition PluginState.hpp:84
Definition NodeCoupling.cpp:16
Central, reentrant simulation context.
Definition SimulationContext.hpp:353
Complete simulation state snapshot at one output time step.
Definition SimulationSnapshot.hpp:117