diff options
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php')
-rw-r--r-- | vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php b/vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php new file mode 100644 index 0000000..d1e842b --- /dev/null +++ b/vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php @@ -0,0 +1,49 @@ +<?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; + } +} |