Preprocessor macro definitions for the event.h header file in the libhnm library.
#define hnm_EventClassShift 8
Number of bits to shift; used in hnm_EventTypeID and hnm_EventClassID
#define hnm_EventClassMask (0xffff << hnm_EventClassShift)
Mask to extract class ID; used by hnm_EventTypeID, hnm_EventClassID, and hnm_Event_typeof
#define hnm_EventTypeMask ~hnm_EventClassMask
#define hnm_EventTypeID ( hnm_EventType )( class << hnm_EventClassShift | ( type & hnm_EventTypeMask ) )Aggregate the event class and subtype IDs into a single event-type ID.
#define hnm_EventClassID ( hnm_EventClass )( event_id >> hnm_EventClassShift )Extract the event class ID from the event-type ID.
#define hnm_Event_typeof ( event && hnm_EventClassID( event->type ) == class )Macro used to perform runtime type-checking of events.
This macro evaluates to true if the specified event corresponds to the specified event class.
#define EVENT_BASE queue_Element queue_elem ; \
char name[ 256 ] ; \
hnm_Priority priority ; \
hnm_EventType type ; \
\
/* Callbacks associated with the Event structure. */ \
bool ( *appraise )( hnm_Event* self, void* data ) ; \
void ( *service )( hnm_Event* self, void* data )
EVENT_BASE defines the base structure for events.