Version 1
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / Compiler / DecoratorPass.php
1 <?php
2
3 namespace Drupal\webprofiler\Compiler;
4
5 use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6 use Symfony\Component\DependencyInjection\ContainerBuilder;
7 use Symfony\Component\DependencyInjection\Reference;
8
9 /**
10  * Class DecoratorPass.
11  */
12 class DecoratorPass implements CompilerPassInterface {
13
14   /**
15    * {@inheritdoc}
16    */
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');
32   }
33 }