OBSERVER Embedded C library v1.0.0
observer.h
Go to the documentation of this file.
1
37#ifndef OBSERVER_H_
38#define OBSERVER_H_
39
40#ifdef __cplusplus
41extern "C"
42{
43#endif
44
46#include <stdint.h>
47
48 /* =========================================================================
49 * Callbacks without argument
50 * ========================================================================= */
51
72 subscr_status_e subscribe(observer_cb_t *subscription_table, observer_cb_t cb_2_register, uint8_t subscription_table_size);
73
94 subscr_status_e unsubscribe(observer_cb_t *subscription_table, observer_cb_t cb_2_remove, uint8_t subscription_table_size);
95
114 subscr_status_e notify(observer_cb_t *subscription_table, uint8_t subscription_table_size);
115
116 /* =========================================================================
117 * Callbacks with event_state_e argument
118 * ========================================================================= */
119
140 subscr_status_e subscribe_state_change(observer_cb_state_t *subscription_table, observer_cb_state_t cb_2_register, uint8_t subscription_table_size);
141
161 subscr_status_e unsubscribe_state_change(observer_cb_state_t *subscription_table, observer_cb_state_t cb_2_remove, uint8_t subscription_table_size);
162
182 subscr_status_e notify_state_change(observer_cb_state_t *subscription_table, uint8_t subscription_table_size, event_state_e state);
183
184 /* =========================================================================
185 * Callbacks with uint8_t argument
186 * ========================================================================= */
187
207 subscr_status_e subscribe_u8(observer_cb_u8_arg_t *subscription_table, observer_cb_u8_arg_t cb_2_register, uint8_t subscription_table_size);
208
228 subscr_status_e unsubscribe_u8(observer_cb_u8_arg_t *subscription_table, observer_cb_u8_arg_t cb_2_remove, uint8_t subscription_table_size);
229
249 subscr_status_e notify_u8(observer_cb_u8_arg_t *subscription_table, uint8_t subscription_table_size, uint8_t data);
250
251#ifdef __cplusplus
252}
253#endif
254
255#endif /* OBSERVER_H_ */
256 /* end of observer group */
subscr_status_e
Subscription operation status codes.
Definition: observer_public_types.h:47
void(* observer_cb_t)(void)
Callback without arguments.
Definition: observer_public_types.h:70
void(* observer_cb_state_t)(event_state_e state)
Callback taking event_state_e argument.
Definition: observer_public_types.h:75
event_state_e
Event state passed to event_state_e callbacks.
Definition: observer_public_types.h:58
void(* observer_cb_u8_arg_t)(uint8_t data)
Callback taking uint8_t argument.
Definition: observer_public_types.h:80
subscr_status_e unsubscribe(observer_cb_t *subscription_table, observer_cb_t cb_2_remove, uint8_t subscription_table_size)
Unregister a callback from the subscription table (void callbacks).
Definition: observer.c:76
subscr_status_e notify_u8(observer_cb_u8_arg_t *subscription_table, uint8_t subscription_table_size, uint8_t data)
Notify all registered callbacks with uint8_t argument.
Definition: observer.c:272
subscr_status_e notify(observer_cb_t *subscription_table, uint8_t subscription_table_size)
Notify all registered callbacks (no argument).
Definition: observer.c:102
subscr_status_e unsubscribe_state_change(observer_cb_state_t *subscription_table, observer_cb_state_t cb_2_remove, uint8_t subscription_table_size)
Unregister a callback with event_state_e argument.
Definition: observer.c:161
subscr_status_e unsubscribe_u8(observer_cb_u8_arg_t *subscription_table, observer_cb_u8_arg_t cb_2_remove, uint8_t subscription_table_size)
Unregister a callback with uint8_t argument.
Definition: observer.c:246
subscr_status_e subscribe_state_change(observer_cb_state_t *subscription_table, observer_cb_state_t cb_2_register, uint8_t subscription_table_size)
Register a callback with event_state_e argument.
Definition: observer.c:127
subscr_status_e subscribe_u8(observer_cb_u8_arg_t *subscription_table, observer_cb_u8_arg_t cb_2_register, uint8_t subscription_table_size)
Register a callback with uint8_t argument.
Definition: observer.c:212
subscr_status_e subscribe(observer_cb_t *subscription_table, observer_cb_t cb_2_register, uint8_t subscription_table_size)
Register a callback in the subscription table (void callbacks).
Definition: observer.c:41
subscr_status_e notify_state_change(observer_cb_state_t *subscription_table, uint8_t subscription_table_size, event_state_e state)
Notify all registered callbacks with event_state_e argument.
Definition: observer.c:187
Public type definitions for the Observer library.