The Events object allows easy interactions with the events mechanism offered by Firebird. One Events object represents a set of events, linked to one Database attachment.
You really should also read the EventInterface article to grab a complete view on this topic.
EventsFactory is used to create and get access to an Events object.
Events EventsFactory(Database db)
Events obects have a lifetime strictly limited by the lifetime of the database connection they depend on. One can manage multiple Events objects at the same time for a single database connection.
Adds a new event name
to the set. The notifications will be sent through the ibppEventHandler()
method of the EventInterface* catcher
object.
Drops an event from the set.
Builds the list of all the events of this set.
Drops all events from the set. The Events object is indeed empty, just in the same state as after construction by the EventsFactory()
.
The notifications will only get delivered upon a call to this method.
This means the host program has to poll this methods from time to time to get the notifications. It is a perfectly safe mean to get the notifications. The ibppEventHandler()
method of your EventInterface derived objects will only be called when you call Dispatch()
. This means you have full control on which thread calls your notifications methods. They are always called from the thread which calls Dispatch()
. This allows you full flexibility: you can safely call other IBPP methods.
Returns the Database attached to this Events object.