Very Simple Kernel 0.1.0
Loading...
Searching...
No Matches
vsk_StateContext.h
Go to the documentation of this file.
1/**
2 * @file
3 */
4#ifndef VSK_STATECONTEXT_H
5#define VSK_STATECONTEXT_H
6/**
7 * @ingroup vsk
8 * @defgroup vsk_StateContext vsk_StateContext
9 * @{
10 */
11
12/**
13 * @brief State context
14 */
16
17#include "vsk_State.h"
18
19/**
20 * @brief State context
21 */
23 vsk_State_t * state; /**< Current state */
24 vsk_State_t * initialState; /**< Initial state */
25};
26
27/**
28 * @brief Initializes a state context
29 *
30 * @param self State context reference
31 * @param initialState Initial state
32 * @return Initialized state context reference
33 */
35 vsk_StateContext_t * const self, vsk_State_t * const initialState
36);
37
38/**
39 * @brief Transitions the context to a new state
40 *
41 * @param self State context reference
42 * @param state New state to transition to
43 */
45 vsk_StateContext_t * const self, vsk_State_t * const state
46);
47
48/** @} */
49#endif // VSK_STATECONTEXT_H
void vsk_StateContext_transition(vsk_StateContext_t *const self, vsk_State_t *const state)
Transitions the context to a new state.
Definition vsk_StateContext.c:12
vsk_StateContext_t * vsk_StateContext_init(vsk_StateContext_t *const self, vsk_State_t *const initialState)
Initializes a state context.
Definition vsk_StateContext.c:4
State context.
Definition vsk_StateContext.h:22
vsk_State_t * initialState
Definition vsk_StateContext.h:24
vsk_State_t * state
Definition vsk_StateContext.h:23
State.
Definition vsk_State.h:33