(v13) The events system
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP
The Event system is a core API that enables Events or messages to be sent by an issuer and received by multiple handlers, regardless of the location of issuer and handlers.
A more complete definition of the Events system can be found in eventapi.h.
The Events system is built on top of the RDR system and uses a number of RDR return values. It is a general-purpose API and may be of use to OEM code in addition to the described RIP uses.
The Events system is a generalized callback system and is a way of connecting systems in a flexible and sophisticated manner. Simply put, systems can issue an Event optionally bearing a message, which is delivered in priority order to handlers registered for that type of Event.
Events can be issued even if there are no registered handlers. Handlers can be registered even if there is nothing that issues that type of Event. Multiple handlers can be registered for an Event which will be called in priority order. A handler may be registered for more than one type of Event.