Very Simple Kernel
0.1.0
Loading...
Searching...
No Matches
vsk_ActiveObject.h
Go to the documentation of this file.
1
/**
2
* @file
3
*/
4
#ifndef VSK_ACTIVEOBJECT_H
5
#define VSK_ACTIVEOBJECT_H
6
/**
7
* @ingroup vsk
8
* @defgroup vsk_ActiveObject vsk_ActiveObject
9
* @{
10
*/
11
12
/**
13
* @brief Active object
14
*/
15
typedef
struct
vsk_ActiveObject
vsk_ActiveObject_t
;
16
17
#include "
vsk_EventSubscription.h
"
18
#include "
vsk_StateContext.h
"
19
#include "
vsk_Task.h
"
20
21
/**
22
* @brief Active object
23
*/
24
struct
vsk_ActiveObject
{
25
vsk_StateContext_t
stateContext
;
/**< State context */
26
vsk_Task_t
task
;
/**< Task that runs the active object */
27
vsk_Inbox_t
inbox
;
/**< Inbox in which messages are posted to the active object */
28
struct
{
29
vsk_EventSubscription_t
onStart
;
/**< Event subscription for the on start event */
30
} eventSubscriptions;
31
};
32
33
/**
34
* @brief Initializes an active object
35
*
36
* @param self Active object reference
37
* @param initialState Initial state
38
*
39
* @return Initialized Active object reference
40
*/
41
vsk_ActiveObject_t
*
vsk_ActiveObject_init
(
42
vsk_ActiveObject_t
*
const
self,
vsk_State_t
*
const
initialState
43
);
44
45
/** @} */
46
#endif
// VSK_ACTIVEOBJECT_H
vsk_ActiveObject_init
vsk_ActiveObject_t * vsk_ActiveObject_init(vsk_ActiveObject_t *const self, vsk_State_t *const initialState)
Initializes an active object.
Definition
vsk_ActiveObject.c:11
vsk_ActiveObject
Active object.
Definition
vsk_ActiveObject.h:24
vsk_ActiveObject::onStart
vsk_EventSubscription_t onStart
Definition
vsk_ActiveObject.h:29
vsk_ActiveObject::task
vsk_Task_t task
Definition
vsk_ActiveObject.h:26
vsk_ActiveObject::stateContext
vsk_StateContext_t stateContext
Definition
vsk_ActiveObject.h:25
vsk_ActiveObject::inbox
vsk_Inbox_t inbox
Definition
vsk_ActiveObject.h:27
vsk_EventSubscription
Event subscription.
Definition
vsk_EventSubscription.h:23
vsk_Inbox
Inbox.
Definition
vsk_Inbox.h:36
vsk_StateContext
State context.
Definition
vsk_StateContext.h:22
vsk_State
State.
Definition
vsk_State.h:33
vsk_Task
Task.
Definition
vsk_Task.h:63
vsk_EventSubscription.h
vsk_StateContext.h
vsk_Task.h
src
vsk_ActiveObject.h
Generated by
1.12.0