Commit Graph

8 Commits

Author SHA1 Message Date
Ashok Sidipotu
6bdc6fb697 event-dispatcher: Donot cancel the object-removed event
The event is not reaching the object-removal hooks due to this.
2023-04-17 07:47:09 -04:00
Ashok Sidipotu
6e31b47c28 event-dispatcher: Add an enumeration of default event hook priorities
This scheme provides for an orderly execution of hooks as the priorities
are controlled from one single place. Enumeration is defined in such a
way that new items can be added easily.

All the event hooks are changed to get the priorities from this
enumeration.
2023-04-17 07:47:09 -04:00
Ashok Sidipotu
ff833b138d event-dispatcher: log event and hook names and chains
- Add a new variable "name" in WpEventHook and use it to log all the
  hooks(by name) picked up in _push_event(). This gives a clear picture
  if hook is registered for a given event.
- Form a name for an event and a chain of events for an event run, log
  both of them. This gives a clear picture of the events executed and
  order in which they are dispatched.
- Similarly build hooks chain and print it in _source_dispatch(), this
  gives a clear picture of the hooks picked and the order in which they
  are dispatched.
- Log only the dispatchable(with hooks) events, this de-clutters
  the log messages.
2023-04-17 07:47:09 -04:00
Ashok Sidipotu
d61be3c397 doc: event-dispatcher: Update the annotations 2023-04-17 07:47:09 -04:00
Ashok Sidipotu
869a1068a4 event-dispatcher: Merge global properties
Global properties are needed for event stack to deal with global
objects.

Refine debug messages
2023-04-17 07:47:09 -04:00
Ashok Sidipotu
655e052f59 lib: Refine trace messages 2023-04-17 07:47:09 -04:00
George Kiagiadakis
01a56496e2 event-dispatcher: use an eventfd to make the source ready
- the source shouldn't become ready if there is nothing to do,
  otherwise idle sources do not run (since they have lower priority)
- when the source becomes ready, we need a fd to wake up GLib's event
  dispatching mechanism to continue processing, otherwise nothing happens
2023-04-17 07:47:09 -04:00
George Kiagiadakis
9afd588d79 lib: initial version of WpEventDispatcher / WpEvent / WpEventHook 2023-04-17 07:47:09 -04:00