75#ifndef OPENSWMM_PLUGIN_STATE_HPP
76#define OPENSWMM_PLUGIN_STATE_HPP
109 return "INITIALIZED";
141 return to == PS::LOADED;
143 return to == PS::INITIALIZED || to == PS::CLOSED;
144 case PS::INITIALIZED:
145 return to == PS::VALIDATED || to == PS::CLOSED;
147 return to == PS::PREPARED || to == PS::CLOSED;
149 return to == PS::UPDATING || to == PS::FINALIZED;
151 return to == PS::PREPARED;
153 return to == PS::CLOSED;
157 return to == PS::CLOSED;
@ CLOSED
Resources released.
Definition SimulationContext.hpp:278
@ INITIALIZED
Initial conditions applied.
Definition SimulationContext.hpp:273
PluginState
Plugin lifecycle states.
Definition PluginState.hpp:86
@ CLOSED
Library closed and handle released.
Definition PluginState.hpp:94
@ FINALIZED
finalize() returned success; no more update() calls.
Definition PluginState.hpp:93
@ VALIDATED
validate() returned success.
Definition PluginState.hpp:90
@ PREPARED
prepare() returned success; ready to accept update() calls.
Definition PluginState.hpp:91
@ UNLOADED
Library not yet loaded (or was closed).
Definition PluginState.hpp:87
@ LOADED
Shared library opened via dlopen/LoadLibrary.
Definition PluginState.hpp:88
@ ERROR
Plugin is in an error state; not usable.
Definition PluginState.hpp:95
@ UPDATING
Currently executing an update() call (transient; not normally observed).
Definition PluginState.hpp:92
@ INITIALIZED
initialize() returned success.
Definition PluginState.hpp:89
Definition ExchangeLaw.hpp:60
bool plugin_state_transition_valid(PluginState from, PluginState to) noexcept
Query the standalone lifecycle transition policy without applying it.
Definition PluginState.hpp:135
const char * plugin_state_to_string(PluginState state) noexcept
Read the static spelling of one lifecycle enum.
Definition PluginState.hpp:102