72#ifndef OPENSWMM_PLUGIN_STATE_HPP
73#define OPENSWMM_PLUGIN_STATE_HPP
111 default:
return "UNKNOWN";
123 if (to == PS::ERROR)
return true;
125 case PS::UNLOADED:
return to == PS::LOADED;
126 case PS::LOADED:
return to == PS::INITIALIZED || to == PS::CLOSED;
127 case PS::INITIALIZED:
return to == PS::VALIDATED || to == PS::CLOSED;
128 case PS::VALIDATED:
return to == PS::PREPARED || to == PS::CLOSED;
129 case PS::PREPARED:
return to == PS::UPDATING || to == PS::FINALIZED;
130 case PS::UPDATING:
return to == PS::PREPARED;
131 case PS::FINALIZED:
return to == PS::CLOSED;
132 case PS::CLOSED:
return false;
133 case PS::ERROR:
return to == PS::CLOSED;
134 default:
return false;
@ CLOSED
Resources released.
Definition SimulationContext.hpp:269
@ INITIALIZED
Initial conditions applied.
Definition SimulationContext.hpp:264
PluginState
Plugin lifecycle states.
Definition PluginState.hpp:83
@ CLOSED
Library closed and handle released.
Definition PluginState.hpp:91
@ FINALIZED
finalize() returned success; no more update() calls.
Definition PluginState.hpp:90
@ VALIDATED
validate() returned success.
Definition PluginState.hpp:87
@ PREPARED
prepare() returned success; ready to accept update() calls.
Definition PluginState.hpp:88
@ UNLOADED
Library not yet loaded (or was closed).
Definition PluginState.hpp:84
@ LOADED
Shared library opened via dlopen/LoadLibrary.
Definition PluginState.hpp:85
@ ERROR
Plugin is in an error state; not usable.
Definition PluginState.hpp:92
@ UPDATING
Currently executing an update() call (transient; not normally observed).
Definition PluginState.hpp:89
@ INITIALIZED
initialize() returned success.
Definition PluginState.hpp:86
Definition NodeCoupling.cpp:16
bool plugin_state_transition_valid(PluginState from, PluginState to) noexcept
Check whether a state transition is valid.
Definition PluginState.hpp:121
const char * plugin_state_to_string(PluginState state) noexcept
Convert a PluginState to a human-readable string.
Definition PluginState.hpp:100