3#include "structure/design_pattern/spk_stateful_object.hpp"
4#include "type/spk_activation_status.hpp"
void deactivate()
Sets the state to Deactivated.
Definition spk_activable_object.hpp:61
Contract addDeactivationCallback(const Job &p_callback)
Registers a callback executed when the object deactivates.
Definition spk_activable_object.hpp:96
ActivableObject()
Builds a deactivated object.
Definition spk_activable_object.hpp:35
Contract addActivationCallback(const Job &p_callback)
Registers a callback executed when the object activates.
Definition spk_activable_object.hpp:87
StatefulObject< ActivationStatus >::Contract Contract
Subscription handle controlling callback lifetime.
Definition spk_activable_object.hpp:23
void toggle()
Toggles between activated and deactivated states.
Definition spk_activable_object.hpp:68
ActivableObject(ActivationStatus p_initial)
Builds with a custom initial activation state.
Definition spk_activable_object.hpp:45
void activate()
Sets the state to Activated.
Definition spk_activable_object.hpp:54
StatefulObject< ActivationStatus >::Job Job
Callback signature executed on activation state changes.
Definition spk_activable_object.hpp:25
bool isActive() const
Checks whether the object is currently activated.
Definition spk_activable_object.hpp:77
ContractProvider::Job Job
Callable invoked when the object transitions to a state.
Definition spk_stateful_object.hpp:24
TType state() const
Returns the current state.
Definition spk_stateful_object.hpp:92
void setState(const ActivationStatus &p_newState)
Definition spk_stateful_object.hpp:77
Contract addCallback(const ActivationStatus &p_state, const Job &p_callback)
Definition spk_stateful_object.hpp:104
StatefulObject(const ActivationStatus &p_initialState)
Definition spk_stateful_object.hpp:36
ContractProvider::Contract Contract
Handle allowing subscribers to manage callback lifetimes.
Definition spk_stateful_object.hpp:22