3 namespace Drupal\webprofiler\Compiler;
5 use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6 use Symfony\Component\DependencyInjection\ContainerBuilder;
7 use Symfony\Component\DependencyInjection\Reference;
10 * Class DecoratorPass.
12 class DecoratorPass implements CompilerPassInterface {
17 public function process(ContainerBuilder $container) {
18 // Builds a decorator around plugin.manager.mail.
19 $definition = $container->findDefinition('plugin.manager.mail');
20 $definition->setPublic(FALSE);
21 $container->setDefinition('webprofiler.debug.plugin.manager.mail.default', $definition);
22 $container->register('plugin.manager.mail', 'Drupal\webprofiler\Mail\MailManagerWrapper')
23 ->addArgument(new Reference('container.namespaces'))
24 ->addArgument(new Reference('cache.discovery'))
25 ->addArgument(new Reference('module_handler'))
26 ->addArgument(new Reference('config.factory'))
27 ->addArgument(new Reference('logger.factory'))
28 ->addArgument(new Reference('string_translation'))
29 ->addArgument(new Reference('webprofiler.debug.plugin.manager.mail.default'))
30 ->addArgument(new Reference('webprofiler.mail'))
31 ->setProperty('_serviceId', 'plugin.manager.mail');