logger instanceof Log || $this->logger instanceof Log\PsrLoggerAdapter) { $this->logger->setEventDispatcher($this); } } public function addListener(string $eventName, callable $listener, int $priority = 0): void { $this->dispatcher->addListener($eventName, $listener, $priority); } public function removeListener(string $eventName, callable $listener): void { $this->dispatcher->removeListener($eventName, $listener); } public function addServiceListener(string $eventName, string $className, int $priority = 0): void { $listener = new ServiceEventListener( $this->container, $className, $this->logger ); $this->addListener($eventName, $listener, $priority); } public function hasListeners(string $eventName): bool { return $this->dispatcher->hasListeners($eventName); } /** * @deprecated */ public function dispatch(string $eventName, Event $event): void { $this->dispatcher->dispatch($event, $eventName); if ($event instanceof ABroadcastedEvent && !$event->isPropagationStopped()) { // Propagate broadcast $this->dispatch( IBroadcastEvent::class, new BroadcastEvent($event) ); } } public function dispatchTyped(Event $event): void { $this->dispatch(get_class($event), $event); } /** * @return SymfonyDispatcher * @deprecated 20.0.0 */ public function getSymfonyDispatcher(): SymfonyDispatcher { return $this->dispatcher; } }