Skip to content

Commit

Permalink
Add service provider
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Babker committed Apr 14, 2019
1 parent b2f0802 commit 1565490
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions administrator/components/com_privacy/services/provider.php
@@ -0,0 +1,56 @@
<?php
/**
* @package Joomla.Administrator
* @subpackage com_privacy
*
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

defined('_JEXEC') or die;

use Joomla\CMS\Dispatcher\ComponentDispatcherFactoryInterface;
use Joomla\CMS\Extension\ComponentInterface;
use Joomla\CMS\Extension\Service\Provider\ComponentDispatcherFactory;
use Joomla\CMS\Extension\Service\Provider\MVCFactory;
use Joomla\CMS\HTML\Registry;
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
use Joomla\Component\Privacy\Administrator\Extension\PrivacyComponent;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;

/**
* The privacy component service provider.
*
* @since 4.0.0
*/
return new class implements ServiceProviderInterface
{
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
*
* @since 4.0.0
*/
public function register(Container $container)
{
$container->registerServiceProvider(new MVCFactory('\\Joomla\\Component\\Privacy'));
$container->registerServiceProvider(new ComponentDispatcherFactory('\\Joomla\\Component\\Privacy'));

$container->set(
ComponentInterface::class,
function (Container $container)
{
$component = new PrivacyComponent($container->get(ComponentDispatcherFactoryInterface::class));

$component->setMVCFactory($container->get(MVCFactoryInterface::class));
$component->setRegistry($container->get(Registry::class));

return $component;
}
);
}
};

0 comments on commit 1565490

Please sign in to comment.