OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::h5io::Hdf5InputPlugin Class Reference

#include <Hdf5InputPlugin.hpp>

Inheritance diagram for openswmm::h5io::Hdf5InputPlugin:
Collaboration diagram for openswmm::h5io::Hdf5InputPlugin:

Public Member Functions

 Hdf5InputPlugin ()=default
 Construct an unloaded plugin with empty diagnostics.
 
PluginState state () const noexcept override
 Inspect the last explicitly assigned plugin lifecycle state.
 
int initialize (const std::vector< std::string > &init_args, const IPluginComponentInfo *info) override
 Reset diagnostics and mark the plugin initialized.
 
int validate (const SimulationContext &ctx) override
 Mark the plugin validated without inspecting the model.
 
int read (const std::string &path, SimulationContext &ctx) override
 Read the complete native model dataset and embedded component configurations. Older column-only exports are refused with a diagnostic. A successful parse populates ctx; errors may leave it partially populated.
 
int write (const std::string &path, const SimulationContext &ctx) override
 Write the complete model to HDF5, replacing the destination. Returns nonzero and records a diagnostic on I/O or conversion failure. Clears previous diagnostics before writing.
 
std::vector< std::string > skipped_sections () const override
 Copy the most recent successful export's omission diagnostics.
 
int finalize (const SimulationContext &ctx) override
 Mark this export plugin finalized.
 
const char * last_error_message () const noexcept override
 Access the plugin's most recent error diagnostic.
 
- Public Member Functions inherited from openswmm::IInputPlugin
virtual ~IInputPlugin ()=default
 Destroy this polymorphic instance after its callbacks and resource lifecycle finish. Default base destructor performs no finalize, file flush, I/O-thread join or model cleanup. Host deletes instances while their library remains loaded; implementations release owned resources safely. Never delete shared component metadata here.
 

Constructor & Destructor Documentation

◆ Hdf5InputPlugin()

openswmm::h5io::Hdf5InputPlugin::Hdf5InputPlugin ( )
default

Construct an unloaded plugin with empty diagnostics.

Member Function Documentation

◆ finalize()

int openswmm::h5io::Hdf5InputPlugin::finalize ( const SimulationContext & ctx)
overridevirtual

Mark this export plugin finalized.

Parameters
[in]ctxModel context, currently ignored and not modified.
Returns
Zero; state() becomes FINALIZED. Diagnostics are retained and there are no persistent file handles to release.

Implements openswmm::IInputPlugin.

◆ initialize()

int openswmm::h5io::Hdf5InputPlugin::initialize ( const std::vector< std::string > & init_args,
const IPluginComponentInfo * info )
overridevirtual

Reset diagnostics and mark the plugin initialized.

Parameters
[in]init_argsCurrently ignored initialization arguments; not retained.
[in]infoCurrently ignored metadata pointer; may be null and is not retained.
Returns
Zero. Clears the error message and skipped-section list and sets state() to INITIALIZED without opening a file.

Implements openswmm::IInputPlugin.

◆ last_error_message()

const char * openswmm::h5io::Hdf5InputPlugin::last_error_message ( ) const
inlineoverridevirtualnoexcept

Access the plugin's most recent error diagnostic.

Returns
Borrowed null-terminated string, possibly empty; valid until the next initialize(), read(), write(), or destruction. Do not free or retain across a call that can modify the plugin's error string.

Reimplemented from openswmm::IInputPlugin.

◆ read()

int openswmm::h5io::Hdf5InputPlugin::read ( const std::string & path,
SimulationContext & ctx )
overridevirtual

Read the complete native model dataset and embedded component configurations. Older column-only exports are refused with a diagnostic. A successful parse populates ctx; errors may leave it partially populated.

Implements openswmm::IInputPlugin.

Here is the call graph for this function:

◆ skipped_sections()

std::vector< std::string > openswmm::h5io::Hdf5InputPlugin::skipped_sections ( ) const
inlineoverridevirtual

Copy the most recent successful export's omission diagnostics.

Returns
Owned vector of warning strings; empty after initialize() or a failed write(). One string may describe multiple unsupported sections.

Reimplemented from openswmm::IInputPlugin.

◆ state()

PluginState openswmm::h5io::Hdf5InputPlugin::state ( ) const
inlineoverridevirtualnoexcept

Inspect the last explicitly assigned plugin lifecycle state.

Returns
Current state; a successful write() does not itself advance it.

Implements openswmm::IInputPlugin.

◆ validate()

int openswmm::h5io::Hdf5InputPlugin::validate ( const SimulationContext & ctx)
overridevirtual

Mark the plugin validated without inspecting the model.

Parameters
[in]ctxModel context, currently ignored and not modified.
Returns
Zero; state() becomes VALIDATED. No schema or model checks occur.

Implements openswmm::IInputPlugin.

◆ write()

int openswmm::h5io::Hdf5InputPlugin::write ( const std::string & path,
const SimulationContext & ctx )
overridevirtual

Write the complete model to HDF5, replacing the destination. Returns nonzero and records a diagnostic on I/O or conversion failure. Clears previous diagnostics before writing.

Implements openswmm::IInputPlugin.

Here is the call graph for this function:

The documentation for this class was generated from the following files: