Very Simple Kernel 0.1.0
Loading...
Searching...
No Matches
vsk_Event.h
Go to the documentation of this file.
1/**
2 * @file
3 */
4#ifndef VSK_EVENT_H
5#define VSK_EVENT_H
6/**
7 * @ingroup vsk
8 * @defgroup vsk_Event vsk_Event
9 * @{
10 */
11
12/**
13 * @brief Event
14 */
15typedef struct vsk_Event vsk_Event_t;
16
17#include "ctb_DList.h"
19
20/**
21 * @brief Event
22 */
23struct vsk_Event {
24 ctb_DList_t eventSubscriptions; /**< Event subscriptions */
25};
26
27/**
28 * @brief Initializes an event
29 *
30 * @param self Event reference
31 * @return Initialized Event reference
32 */
34
35/**
36 * @brief Raises an event
37 *
38 * @param self Event reference
39 */
40void vsk_Event_raise(vsk_Event_t * const self);
41
42/**
43 * @brief Subscribes to an event
44 *
45 * @param self Event reference
46 * @param subscription Event subscription reference
47 */
49 vsk_Event_t * const self, vsk_EventSubscription_t * const subscription
50);
51
52/** @} */
53#endif // VSK_EVENT_H
vsk_Event_t * vsk_Event_init(vsk_Event_t *const self)
Initializes an event.
Definition vsk_Event.c:4
void vsk_Event_raise(vsk_Event_t *const self)
Raises an event.
Definition vsk_Event.c:16
void vsk_Event_subscribe(vsk_Event_t *const self, vsk_EventSubscription_t *const subscription)
Subscribes to an event.
Definition vsk_Event.c:20
Event subscription.
Definition vsk_EventSubscription.h:23
Event.
Definition vsk_Event.h:23
ctb_DList_t eventSubscriptions
Definition vsk_Event.h:24