/**
  * Triggers the listeners of an event UNLESS they are only listening to a different queue.
  * Since we get an array of listener instances which are not tied any more to the service key, we have to do a slow
  * loop to find if any listener was tied to a particular queue...
  *
  * @param callable[] $listeners The event listeners.
  * @param string     $eventName The name of the event to dispatch.
  * @param Event      $event     The event object to pass to the event handlers/listeners.
  */
 protected function doDispatch($listeners, $eventName, Event $event)
 {
     foreach ($listeners as $id => $listener) {
         if (isset($this->listeners[$eventName])) {
             foreach ($this->listeners[$eventName] as $key => $val) {
                 // services
                 if ($val[0] === $listener[0]) {
                     // queue names
                     if ($val[1] != null && $val[1] != $event->getMessage()->getQueueName()) {
                         continue 2;
                     }
                     break;
                 }
             }
         }
         call_user_func($listener, $event, $eventName, $this);
         if ($event->isPropagationStopped()) {
             break;
         }
     }
 }
Example #2
0
 public function addFlash(Event $event)
 {
     $this->session->getFlashBag()->add($event->getType(), $event->getMessage());
 }
 public function onConditionChange(Event $event)
 {
     $message = array('Message' => $event->getMessage(), 'Subject' => 'Condition change');
     //        $this->awsSns->publish($message);
     $this->logger->info($event->getMessage());
 }
 /**
  * @param Event $event
  *
  * @return void
  */
 private function setFlashMessageToEventParams(Event $event)
 {
     $this->flashHelper->setFlash($event->getMessageType(), $event->getMessage(), $event->getMessageParameters());
 }