nRF Connect SDK API 0.1.0
|
Application Event Manager. More...
Macros | |
#define | APP_EVENT_ID(ename) _EVENT_ID(ename) |
Get the event ID. | |
#define | APP_EVENT_LISTENER(lname, cb_fn) _APP_EVENT_LISTENER(lname, cb_fn) |
Create an event listener object. | |
#define | APP_EVENT_SUBSCRIBE_FIRST(lname, ename) |
Subscribe a listener to an event type as first module that is being notified. | |
#define | APP_EVENT_SUBSCRIBE_EARLY(lname, ename) _APP_EVENT_SUBSCRIBE(lname, ename, _APP_EM_SUBS_PRIO_ID(_APP_EM_SUBS_PRIO_EARLY)) |
Subscribe a listener to the early notification list for an event type. | |
#define | APP_EVENT_SUBSCRIBE(lname, ename) _APP_EVENT_SUBSCRIBE(lname, ename, _APP_EM_SUBS_PRIO_ID(_APP_EM_SUBS_PRIO_NORMAL)) |
Subscribe a listener to the normal notification list for an event type. | |
#define | APP_EVENT_SUBSCRIBE_FINAL(lname, ename) |
Subscribe a listener to an event type as final module that is being notified. | |
#define | APP_EVENT_TYPE_DECLARE(ename) _APP_EVENT_TYPE_DECLARE(ename) |
Declare an event type. | |
#define | APP_EVENT_TYPE_DYNDATA_DECLARE(ename) _APP_EVENT_TYPE_DYNDATA_DECLARE(ename) |
Declare an event type with dynamic data size. | |
#define | APP_EVENT_TYPE_DEFINE(ename, log_fn, ev_info_struct, app_event_type_flags) _APP_EVENT_TYPE_DEFINE(ename, log_fn, ev_info_struct, app_event_type_flags) |
Define an event type. | |
#define | APP_EVENT_ASSERT_ID(id) __ASSERT_NO_MSG((id >= _event_type_list_start) && (id < _event_type_list_end)) |
Verify if an event ID is valid. | |
#define | APP_EVENT_SUBMIT(event) _event_submit(&event->header) |
Submit an event. | |
#define | APP_EVENT_MANAGER_HOOK_POSTINIT_REGISTER(hook_fn) |
Register event hook after the Application Event Manager is initialized. | |
#define | APP_EVENT_HOOK_ON_SUBMIT_REGISTER_FIRST(hook_fn) |
Register hook called on event submission. The hook would be called first. | |
#define | APP_EVENT_HOOK_ON_SUBMIT_REGISTER(hook_fn) _APP_EVENT_HOOK_ON_SUBMIT_REGISTER(hook_fn, _APP_EM_SUBS_PRIO_ID(_APP_EM_SUBS_PRIO_NORMAL)) |
Register event hook on submission. | |
#define | APP_EVENT_HOOK_ON_SUBMIT_REGISTER_LAST(hook_fn) |
Register event hook on submission. The hook would be called last. | |
#define | APP_EVENT_HOOK_PREPROCESS_REGISTER_FIRST(hook_fn) |
Register event hook on the start of event processing. The hook would be called first. | |
#define | APP_EVENT_HOOK_PREPROCESS_REGISTER(hook_fn) _APP_EVENT_HOOK_PREPROCESS_REGISTER(hook_fn, _APP_EM_SUBS_PRIO_ID(_APP_EM_SUBS_PRIO_NORMAL)) |
Register event hook on the start of event processing. | |
#define | APP_EVENT_HOOK_PREPROCESS_REGISTER_LAST(hook_fn) |
Register event hook on the start of event processing. The hook would be called last. | |
#define | APP_EVENT_HOOK_POSTPROCESS_REGISTER_FIRST(hook_fn) |
Register event hook on the end of event processing. The hook would be called first. | |
#define | APP_EVENT_HOOK_POSTPROCESS_REGISTER(hook_fn) |
Register event hook on the end of event processing. | |
#define | APP_EVENT_HOOK_POSTPROCESS_REGISTER_LAST(hook_fn) |
Register event hook on the end of event processing. The hook would be called last. | |
#define | APP_EVENT_MANAGER_LOG(aeh, ...) |
Log event. | |
#define | APP_EVENT_FLAGS_CREATE(...) (FOR_EACH_NONEMPTY_TERM(_APP_EVENT_FLAGS_JOIN, (|), __VA_ARGS__) 0) |
Define flags for event type. | |
Typedefs | |
typedef bool(* | cb_fn) (const struct app_event_header *aeh) |
Pointer to the event handler function. | |
Enumerations | |
enum | app_event_type_flags { APP_EVENT_TYPE_FLAGS_SYSTEM_START , APP_EVENT_TYPE_FLAGS_HAS_DYNDATA = APP_EVENT_TYPE_FLAGS_SYSTEM_START , APP_EVENT_TYPE_FLAGS_USER_SETTABLE_START , APP_EVENT_TYPE_FLAGS_INIT_LOG_ENABLE , APP_EVENT_TYPE_FLAGS_COUNT , APP_EVENT_TYPE_FLAGS_USER_DEFINED_START = APP_EVENT_TYPE_FLAGS_COUNT } |
List of bits in event type flags. More... | |
Functions | |
static bool | app_event_get_type_flag (const struct event_type *et, enum app_event_type_flags flag) |
Get event type flag's value. | |
static size_t | app_event_manager_event_size (const struct app_event_header *aeh) |
Get the event size. | |
int | app_event_manager_init (void) |
Initialize the Application Event Manager. | |
void * | app_event_manager_alloc (size_t size) |
Allocate event. | |
void | app_event_manager_free (void *addr) |
Free memory occupied by the event. | |
Application Event Manager.