[FEATURE] Introduce PSR-14-based EventDispatcher as alternative for hooks
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Compatibility / Slot / PostInitializeMailer.php
1 <?php
2 declare(strict_types = 1);
3
4 namespace TYPO3\CMS\Core\Compatibility\Slot;
5
6 /*
7 * This file is part of the TYPO3 CMS project.
8 *
9 * It is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License, either version 2
11 * of the License, or any later version.
12 *
13 * For the full copyright and license information, please read the
14 * LICENSE.txt file that was distributed with this source code.
15 *
16 * The TYPO3 project - inspiring people to share!
17 */
18
19 use TYPO3\CMS\Core\Mail\Event\AfterMailerInitializationEvent;
20 use TYPO3\CMS\Core\Mail\Mailer;
21 use TYPO3\CMS\Extbase\SignalSlot\Dispatcher;
22
23 /**
24 * Bridge to provide backwards-compatibility for executing the SignalSlot dispatcher event.
25 */
26 class PostInitializeMailer
27 {
28 /**
29 * @var Dispatcher
30 */
31 protected $dispatcher;
32
33 public function __construct(Dispatcher $dispatcher)
34 {
35 $this->dispatcher = $dispatcher;
36 }
37
38 public function __invoke(AfterMailerInitializationEvent $event): void
39 {
40 $this->dispatcher->dispatch(Mailer::class, 'postInitializeMailer', [$event->getMailer()]);
41 }
42 }