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;
62 std::FILE* file_ =
nullptr;
63 std::size_t warnings_written_ = 0;
64 std::size_t errors_written_ = 0;
73 void write_timing(std::FILE* f);
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:197
int prepare(const SimulationContext &ctx) override
Open report file(s) and write any headers.
Definition DefaultReportPlugin.cpp:151
int update(const SimulationSnapshot &snapshot) override
Accumulate data from one output step. Called from IO thread.
Definition DefaultReportPlugin.cpp:169
int validate(const SimulationContext &ctx) override
Validate configuration against the loaded model.
Definition DefaultReportPlugin.cpp:146
int finalize(const SimulationContext &ctx) override
Flush and close report file(s).
Definition DefaultReportPlugin.cpp:174
int initialize(const std::vector< std::string > &init_args, const IPluginComponentInfo *info) override
Definition DefaultReportPlugin.cpp:140
~DefaultReportPlugin() override
Definition DefaultReportPlugin.cpp:131
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:179
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 NodeCoupling.cpp:15
Central, reentrant simulation context.
Definition SimulationContext.hpp:274
Complete simulation state snapshot at one output time step.
Definition SimulationSnapshot.hpp:92