Version 1
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / Compiler / DecoratorPass.php
diff --git a/web/modules/contrib/devel/webprofiler/src/Compiler/DecoratorPass.php b/web/modules/contrib/devel/webprofiler/src/Compiler/DecoratorPass.php
new file mode 100644 (file)
index 0000000..e460b22
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+
+namespace Drupal\webprofiler\Compiler;
+
+use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Reference;
+
+/**
+ * Class DecoratorPass.
+ */
+class DecoratorPass implements CompilerPassInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function process(ContainerBuilder $container) {
+    // Builds a decorator around plugin.manager.mail.
+    $definition = $container->findDefinition('plugin.manager.mail');
+    $definition->setPublic(FALSE);
+    $container->setDefinition('webprofiler.debug.plugin.manager.mail.default', $definition);
+    $container->register('plugin.manager.mail', 'Drupal\webprofiler\Mail\MailManagerWrapper')
+      ->addArgument(new Reference('container.namespaces'))
+      ->addArgument(new Reference('cache.discovery'))
+      ->addArgument(new Reference('module_handler'))
+      ->addArgument(new Reference('config.factory'))
+      ->addArgument(new Reference('logger.factory'))
+      ->addArgument(new Reference('string_translation'))
+      ->addArgument(new Reference('webprofiler.debug.plugin.manager.mail.default'))
+      ->addArgument(new Reference('webprofiler.mail'))
+      ->setProperty('_serviceId', 'plugin.manager.mail');
+  }
+}