32 $this->_eventMap = array(
33 'Swift_Events_CommandEvent' =>
'Swift_Events_CommandListener',
34 'Swift_Events_ResponseEvent' =>
'Swift_Events_ResponseListener',
35 'Swift_Events_SendEvent' =>
'Swift_Events_SendListener',
36 'Swift_Events_TransportChangeEvent' =>
'Swift_Events_TransportChangeListener',
37 'Swift_Events_TransportExceptionEvent' =>
'Swift_Events_TransportExceptionListener',
114 foreach ($this->_listeners as $l) {
116 if ($l === $listener) {
120 $this->_listeners[] = $listener;
138 $this->_bubbleQueue = array();
139 $evtClass = get_class($evt);
140 foreach ($this->_listeners as $listener) {
141 if (array_key_exists($evtClass, $this->_eventMap)
142 && ($listener instanceof $this->_eventMap[$evtClass])) {
143 $this->_bubbleQueue[] = $listener;
151 if (!$evt->
bubbleCancelled() && $listener = array_shift($this->_bubbleQueue)) {
152 $listener->$target($evt);