Stateful
#include <icy/stateful.h>
template<typename T>
class StatefulDefined in src/base/include/icy/stateful.h:97
For an example See also: PacketStream
Template Parameters
ThederivedStatetype.
Public Attributes
| Return | Name | Description |
|---|---|---|
Signal< void(void *, T &, const T &)> | StateChange | Signals when the state changes. |
StateChange
Signal< void(void *, T &, const T &)> StateChangeType: Signal< void(void *, T &, const T &)>
Defined in src/base/include/icy/stateful.h:130
Signals when the state changes.
Public Methods
| Return | Name | Description |
|---|---|---|
Stateful inline | ||
~Stateful virtual inline | ||
bool | stateEquals virtual const inline | Returns true if the current state ID equals the given ID. |
bool | stateBetween virtual const inline | Returns true if the current state ID is in the inclusive range [lid, rid]. |
T & | state virtual inline | Returns a mutable reference to the current state. |
const T | state virtual const inline | Returns a copy of the current state. |
Stateful
inline
inline Stateful()Defined in src/base/include/icy/stateful.h:100
~Stateful
virtual inline
virtual inline ~Stateful()Defined in src/base/include/icy/stateful.h:102
stateEquals
virtual const inline
virtual inline bool stateEquals(typename T::ID id) constDefined in src/base/include/icy/stateful.h:107
Returns true if the current state ID equals the given ID.
Returns
True if the current state matches.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | typename T::ID | State ID to compare against. |
stateBetween
virtual const inline
virtual inline bool stateBetween(typename T::ID lid, typename T::ID rid) constDefined in src/base/include/icy/stateful.h:116
Returns true if the current state ID is in the inclusive range [lid, rid].
Returns
True if lid <= state.id() <= rid.
Parameters
| Parameter | Type | Description |
|---|---|---|
lid | typename T::ID | Lower bound state ID. |
rid | typename T::ID | Upper bound state ID. |
state
virtual inline
virtual inline T & state()Defined in src/base/include/icy/stateful.h:123
Returns a mutable reference to the current state.
Returns
Reference to the internal state object.
state
virtual const inline
virtual inline const T state() constDefined in src/base/include/icy/stateful.h:127
Returns a copy of the current state.
Returns
Current state value.
Protected Attributes
| Return | Name | Description |
|---|---|---|
T | _state |
_state
T _stateDefined in src/base/include/icy/stateful.h:170
Protected Methods
| Return | Name | Description |
|---|---|---|
bool | beforeStateChange virtual inline | Override to handle pre state change logic. Return false to prevent state change. |
void | onStateChange virtual inline | Override to handle post state change logic. |
bool | setState virtual inline | Sets the state and sends the state signal if the state change was successful. |
bool | setState virtual inline | Sets the state and sends the state signal if the state change was successful. |
beforeStateChange
virtual inline
virtual inline bool beforeStateChange(const T & state)Defined in src/base/include/icy/stateful.h:135
Override to handle pre state change logic. Return false to prevent state change.
onStateChange
virtual inline
virtual inline void onStateChange(T &, const T &)Defined in src/base/include/icy/stateful.h:143
Override to handle post state change logic.
Reimplemented by
setState
virtual inline
virtual inline bool setState(void * sender, typename T::ID id)Defined in src/base/include/icy/stateful.h:147
Sets the state and sends the state signal if the state change was successful.
setState
virtual inline
virtual inline bool setState(void * sender, const T & state)Defined in src/base/include/icy/stateful.h:156
Sets the state and sends the state signal if the state change was successful.
