/** * Emits a signal when an Advice is invoked * * The advice is not proxyable, so the signal is dispatched manually here. * * @param object $aspectObject * @param string $methodName * @param \TYPO3\FLOW3\Aop\JoinPointInterface $joinPoint * @return void * @FLOW3\Signal */ protected function emitAdviceInvoked($aspectObject, $methodName, $joinPoint) { if ($this->dispatcher === NULL) { $this->dispatcher = $this->objectManager->get('TYPO3\\FLOW3\\SignalSlot\\Dispatcher'); } $this->dispatcher->dispatch('TYPO3\\FLOW3\\Aop\\Advice\\AbstractAdvice', 'adviceInvoked', array($aspectObject, $methodName, $joinPoint)); }
/** * Signalizes that the specified directory has changed * * @param string $monitorIdentifier Name of the monitor which detected the change * @param array $changedDirectories An array of changed directories (key = path) and their status (value) * @return void * @FLOW3\Signal * @api */ protected function emitDirectoriesHaveChanged($monitorIdentifier, array $changedDirectories) { $this->signalDispatcher->dispatch(__CLASS__, 'directoriesHaveChanged', array($monitorIdentifier, $changedDirectories)); }
/** * Passes the signal over to the Dispatcher * * @FLOW3\AfterReturning("methodAnnotatedWith(TYPO3\FLOW3\Annotations\Signal)") * @param \TYPO3\FLOW3\Aop\JoinPointInterface $joinPoint The current join point * @return void */ public function forwardSignalToDispatcher(\TYPO3\FLOW3\Aop\JoinPointInterface $joinPoint) { $signalName = lcfirst(str_replace('emit', '', $joinPoint->getMethodName())); $this->dispatcher->dispatch($joinPoint->getClassName(), $signalName, $joinPoint->getMethodArguments()); }
/** * Signals that the compile command was successfully finished. * * @param integer $classCount Number of compiled proxy classes * @return void * @FLOW3\Signal */ protected function emitFinishedCompilationRun($classCount) { $this->signalSlotDispatcher->dispatch(__CLASS__, 'finishedCompilationRun', array($classCount)); }