vendor/symfony/src/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
changeset 0 7f95f8617b0b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/symfony/src/Symfony/Component/EventDispatcher/EventDispatcherInterface.php	Sat Sep 24 15:40:41 2011 +0200
@@ -0,0 +1,94 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\EventDispatcher;
+
+/**
+ * The EventDispatcherInterface is the central point of Symfony's event listener system.
+ * Listeners are registered on the manager and events are dispatched through the
+ * manager.
+ *
+ * @author Bernhard Schussek <bschussek@gmail.com>
+ *
+ * @api
+ */
+interface EventDispatcherInterface
+{
+    /**
+     * Dispatches an event to all registered listeners.
+     *
+     * @param string $eventName The name of the event to dispatch. The name of
+     *                          the event is the name of the method that is
+     *                          invoked on listeners.
+     * @param Event $event The event to pass to the event handlers/listeners.
+     *                     If not supplied, an empty Event instance is created.
+     *
+     * @api
+     */
+    function dispatch($eventName, Event $event = null);
+
+    /**
+     * Adds an event listener that listens on the specified events.
+     *
+     * @param string   $eventName The event to listen on
+     * @param callable $listener  The listener
+     * @param integer  $priority  The higher this value, the earlier an event
+     *                            listener will be triggered in the chain (defaults to 0)
+     *
+     * @api
+     */
+    function addListener($eventName, $listener, $priority = 0);
+
+    /**
+     * Adds an event subscriber. The subscriber is asked for all the events he is
+     * interested in and added as a listener for these events.
+     *
+     * @param EventSubscriberInterface $subscriber The subscriber.
+     *
+     * @api
+     */
+    function addSubscriber(EventSubscriberInterface $subscriber);
+
+    /**
+     * Removes an event listener from the specified events.
+     *
+     * @param string|array $eventName The event(s) to remove a listener from.
+     * @param object $listener The listener object to remove.
+     */
+    function removeListener($eventName, $listener);
+
+    /**
+     * Removes an event subscriber.
+     *
+     * @param EventSubscriberInterface $subscriber The subscriber.
+     */
+    function removeSubscriber(EventSubscriberInterface $subscriber);
+
+    /**
+     * Gets the listeners of a specific event or all listeners.
+     *
+     * @param string $eventName The name of the event.
+     *
+     * @return array The event listeners for the specified event, or all event
+     *               listeners by event name.
+     */
+    function getListeners($eventName = null);
+
+    /**
+     * Checks whether an event has any registered listeners.
+     *
+     * @param string $eventName The name of the event.
+     *
+     * @return Boolean TRUE if the specified event has any listeners, FALSE
+     *                 otherwise.
+     */
+    function hasListeners($eventName = null);
+}