OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
Plugin SDK Interfaces
Collaboration diagram for Plugin SDK Interfaces:

Modules

 Input Plugin Interface
 
 Output Plugin Interface
 
 Report Plugin Interface
 
 State IO Plugin Interface
 

Classes

struct  openswmm::FileFilter
 A file-format filter advertised by a plugin. More...
 
struct  openswmm::RegistrationInfo
 Registration information for plugin activation. More...
 
class  openswmm::IPluginComponentInfo
 Describes a plugin component: metadata, capabilities, and factory methods. More...
 
struct  openswmm::DiscoveredFilter
 A FileFilter paired with the plugin id and version that emitted it. More...
 
struct  openswmm::DiscoveredPlugin
 A plugin grouped by id with all the roles and filters it advertises. More...
 

Enumerations

enum class  openswmm::PluginType {
  openswmm::PluginType::INPUT ,
  openswmm::PluginType::OUTPUT ,
  openswmm::PluginType::REPORT ,
  openswmm::PluginType::STATE_IO
}
 Identifies a plugin capability. More...
 
enum class  openswmm::PluginRole : int {
  openswmm::PluginRole::INPUT_READ ,
  openswmm::PluginRole::OUTPUT_WRITE ,
  openswmm::PluginRole::REPORT_WRITE ,
  openswmm::PluginRole::STATE_READ ,
  openswmm::PluginRole::STATE_WRITE
}
 Identifies the I/O direction and category of a file filter entry. More...
 

Functions

const char * openswmm::plugin_role_to_string (PluginRole role) noexcept
 Convert a PluginRole to a stable, human-readable string.
 

Detailed Description

See also
IOutputPlugin.hpp
IReportPlugin.hpp
PluginState.hpp
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License

Enumeration Type Documentation

◆ PluginRole

enum class openswmm::PluginRole : int
strong

Identifies the I/O direction and category of a file filter entry.

A single plugin may legitimately advertise multiple roles (e.g., GeoPackage handles INPUT_READ, OUTPUT_WRITE, and REPORT_WRITE for the same *.gpkg extension). The GUI layer uses the role to pick which filters to show in each QFileDialog (Open vs. Save, model file vs. results file vs. hot-start, etc.).

Enumerator
INPUT_READ 

Plugin reads a model input file (e.g. *.inp).

OUTPUT_WRITE 

Plugin writes a time-series results file (e.g. *.out).

REPORT_WRITE 

Plugin writes a summary report file (e.g. *.rpt).

STATE_READ 

Plugin reads a hot-start / state file.

STATE_WRITE 

Plugin writes a hot-start / state file.

◆ PluginType

enum class openswmm::PluginType
strong

Identifies a plugin capability.

Retained for use in discovery results and filtering. A single plugin may support multiple types — use the has_input() / has_output() / has_report() / has_state_io() capability queries on IPluginComponentInfo instead of assuming a plugin has only one type.

Enumerator
INPUT 

Reads model data into SimulationContext.

OUTPUT 

Writes time-series results during simulation.

REPORT 

Writes summary statistics post-simulation.

STATE_IO 

Reads / writes simulation state (hot-start)

Function Documentation

◆ plugin_role_to_string()

const char * openswmm::plugin_role_to_string ( PluginRole  role)
inlinenoexcept

Convert a PluginRole to a stable, human-readable string.

Parameters
roleRole enum value.
Returns
Static null-terminated string (never NULL).