56#ifndef OPENSWMM_PLUGIN_STATE_HPP
57#define OPENSWMM_PLUGIN_STATE_HPP
95 default:
return "UNKNOWN";
107 if (to == PS::ERROR)
return true;
109 case PS::UNLOADED:
return to == PS::LOADED;
110 case PS::LOADED:
return to == PS::INITIALIZED || to == PS::CLOSED;
111 case PS::INITIALIZED:
return to == PS::VALIDATED || to == PS::CLOSED;
112 case PS::VALIDATED:
return to == PS::PREPARED || to == PS::CLOSED;
113 case PS::PREPARED:
return to == PS::UPDATING || to == PS::FINALIZED;
114 case PS::UPDATING:
return to == PS::PREPARED;
115 case PS::FINALIZED:
return to == PS::CLOSED;
116 case PS::CLOSED:
return false;
117 case PS::ERROR:
return to == PS::CLOSED;
118 default:
return false;
@ CLOSED
Resources released.
@ INITIALIZED
Initial conditions applied.
PluginState
Plugin lifecycle states.
Definition PluginState.hpp:67
@ CLOSED
Library closed and handle released.
@ FINALIZED
finalize() returned success; no more update() calls.
@ VALIDATED
validate() returned success.
@ PREPARED
prepare() returned success; ready to accept update() calls.
@ UNLOADED
Library not yet loaded (or was closed).
@ LOADED
Shared library opened via dlopen/LoadLibrary.
@ ERROR
Plugin is in an error state; not usable.
@ UPDATING
Currently executing an update() call (transient; not normally observed).
@ INITIALIZED
initialize() returned success.
Definition Controls.cpp:24
bool plugin_state_transition_valid(PluginState from, PluginState to) noexcept
Check whether a state transition is valid.
Definition PluginState.hpp:105
const char * plugin_state_to_string(PluginState state) noexcept
Convert a PluginState to a human-readable string.
Definition PluginState.hpp:84