1 #ifndef EVE_EVENT_MONITOR_H_INCLUDED 2 #define EVE_EVENT_MONITOR_H_INCLUDED 63 #define EVENT_MONITOR_INIT(name, on_sys_event) \ 65 .Link = DLIST_INIT(name.Link), \ 66 .OnSysEvent = on_sys_event, \ 69 #define DECLARE_EVENT_MONITOR(name, on_sys_event) \ 70 struct event_monitor_t name \ 71 __attribute__((cleanup(event_monitor_destructor))) = \ 72 EVENT_MONITOR_INIT(name, on_sys_event); \ 74 event_monitor_register(&name); \ 81 void event_monitor_on_sys_event(uint32_t Event);
90 event_monitor_unregister(Self);
105 #define FLASH_OP_MONITOR_INIT(name) \ 107 .Super = EVENT_MONITOR_INIT(name.Super, \ 108 flash_op_monitor_on_sys_event), \ 111 #define DECLARE_FLASH_OP_MONITOR(name) \ 112 struct flash_op_monitor_t name \ 113 __attribute__((cleanup(flash_op_monitor_destructor))) = \ 114 FLASH_OP_MONITOR_INIT(name); \ 116 event_monitor_register(&name.Super); \ 119 #define FLASH_OP_WAIT(name) \ 130 static inline void flash_op_monitor_on_sys_event(
struct event_monitor_t *Super, uint32_t Event)
135 if (Event == NRF_EVT_FLASH_OPERATION_SUCCESS || Event == NRF_EVT_FLASH_OPERATION_ERROR)
137 Self->Status = (Event == NRF_EVT_FLASH_OPERATION_SUCCESS);
static void event_monitor_destructor(struct event_monitor_t *Self)
#define container_of(ptr, type, mem)
Header file for the EVE power management framework.
The code implements Dummy Headed Doubly Linked Circularlist (DHDLC) primitive.