<?xml version="1.0" encoding="UTF-8"?>
<chapter id="events">
  <title>Events - notifications from the microcontainer and services</title>

  <para>The event subsystem allows services to produce and consume
  events.</para>

  <sect1 id="event-overview" revision="1">
    <title>Event - event abstraction</title>

    <para>The Event class is intended to abstract the different event
    mechanisms used by different software.</para>
  </sect1>

  <sect1 id="eventemitter-overview" revision="1">
    <title>EventEmitter - producting events</title>

    <para>Event emitters produce events and send them to their registered
    <link linkend="eventlistener-overview">listeners</link>.</para>

    <para>Listeners can be registered with a <link
    linkend="eventfilter-overview">filter</link> to filter the events they are
    interested in before they are sent.</para>
  </sect1>

  <sect1 id="eventlistener-overview" revision="1">
    <title>EventListener - consuming events</title>

    <para>Event listeners consume events from <link
    linkend="eventemitter-overview">emitters</link>.</para>
  </sect1>

  <sect1 id="eventfilter-overview" revision="1">
    <title>EventFilter - filtering events</title>

    <para>A filter allows events to filtered before they are sent. This is can
    be more efficient than filtering the event in the <link
    linkend="eventlistener-overview">listener</link>.</para>
  </sect1>

  <sect1 id="eventmanager-overview" revision="1">
    <title>EventManager - named listening</title>

    <para>The event manager allows <link
    linkend="eventemitter-overview">emitters</link> and <link
    linkend="eventlistener-overview">listeners</link> to be more detached from
    each other. Instead of direct registration, the names of the objects in
    the registry are used.</para>
  </sect1>
</chapter>