12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace Guzzle\Common;
- use Symfony\Component\EventDispatcher\EventDispatcher;
- use Symfony\Component\EventDispatcher\EventDispatcherInterface;
- use Symfony\Component\EventDispatcher\EventSubscriberInterface;
- /**
- * Class that holds an event dispatcher
- */
- class AbstractHasDispatcher implements HasDispatcherInterface
- {
- /** @var EventDispatcherInterface */
- protected $eventDispatcher;
- public static function getAllEvents()
- {
- return array();
- }
- public function setEventDispatcher(EventDispatcherInterface $eventDispatcher)
- {
- $this->eventDispatcher = $eventDispatcher;
- return $this;
- }
- public function getEventDispatcher()
- {
- if (!$this->eventDispatcher) {
- $this->eventDispatcher = new EventDispatcher();
- }
- return $this->eventDispatcher;
- }
- public function dispatch($eventName, array $context = array())
- {
- return $this->getEventDispatcher()->dispatch($eventName, new Event($context));
- }
- public function addSubscriber(EventSubscriberInterface $subscriber)
- {
- $this->getEventDispatcher()->addSubscriber($subscriber);
- return $this;
- }
- }
|