public function unsubscribeFrom(EventEmitterInterface $emitter) { foreach ($this->getEvents() as $event => $params) { if (is_string($params)) { $emitter->removeListener($event, array($this, $params)); } elseif (is_string($params[0])) { $emitter->removeListener($event, array($this, $params[0])); } else { foreach ($params as $listener) { $emitter->removeListener($event, array($this, $listener[0])); } } } }
/** * @see EventEmitterInterface::copyEvent */ public function copyEvent(EventEmitterInterface $emitter, $event) { return $this->on($event, function () use($emitter, $event) { $emitter->emit($event, func_get_args()); }); }
/** * */ public function cancel() { if (isset($this->emitter)) { $this->emitter->removeListener($this->getEvent(), $this->getHandler()); } }
/** * */ public function cancel() { $this->emitter->removeListener($this->event(), $this->listener()); }