Skip to content
Snippets Groups Projects

Update TransportsFactory to pass an event dispatcher to created Transport

Files
2
+ 17
5
@@ -7,6 +7,7 @@ namespace Drupal\symfony_mailer_lite;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\symfony_mailer_lite\Transport\ErrorTransport;
use Psr\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mailer\Transport\TransportFactoryInterface;
use Symfony\Component\Mailer\Transport\Transports;
@@ -17,15 +18,26 @@ use Symfony\Component\Mailer\Transport\Transports;
final class TransportsFactory {
/**
* @var ConfigFactoryInterface
* Instance of config factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected ConfigFactoryInterface $configFactory;
/**
* @var EntityTypeManagerInterface
* Instance of the entity type manager.
*
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected EntityTypeManagerInterface $entityTypeManager;
/**
* Instance of Event Dispatcher.
*
* @var \Psr\EventDispatcher\EventDispatcherInterface
*/
protected EventDispatcherInterface $eventDispatcher;
/**
* List of Transport factories for our factory.
*
@@ -36,9 +48,10 @@ final class TransportsFactory {
/**
* Constructs a new TransportsFactory.
*/
public function __construct(ConfigFactoryInterface $configFactory, EntityTypeManagerInterface $entityTypeManager) {
public function __construct(ConfigFactoryInterface $configFactory, EntityTypeManagerInterface $entityTypeManager, EventDispatcherInterface $eventDispatcher) {
$this->entityTypeManager = $entityTypeManager;
$this->configFactory = $configFactory;
$this->eventDispatcher = $eventDispatcher;
}
/**
@@ -60,11 +73,10 @@ final class TransportsFactory {
public function getTransportFactories(): array {
return array_merge(
$this->transportFactories,
iterator_to_array(Transport::getDefaultFactories())
iterator_to_array(Transport::getDefaultFactories($this->eventDispatcher))
);
}
/**
* Get the collection of all transports.
*
Loading