<?xml version="1.0" encoding="UTF-8" ?>
<!--
	Author: Christian Raue <christian.raue@gmail.com>
	Copyright: 2011-2023 Christian Raue
	License: http://opensource.org/licenses/mit-license.php MIT License
-->
<container
		xmlns="http://symfony.com/schema/dic/services"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
	<parameters>
		<parameter key="craue_config.cache_adapter.class">Craue\ConfigBundle\CacheAdapter\NullAdapter</parameter>
		<parameter key="craue_config.redirectRouteAfterModify">craue_config_settings_modify</parameter>
	</parameters>

	<services>
		<service id="craue_config_cache_adapter" class="%craue_config.cache_adapter.class%" public="true">
			<argument type="service" id="craue_config_cache_provider" on-invalid="ignore" />
		</service>

		<!-- autowiring alias -->
		<service id="Craue\ConfigBundle\CacheAdapter\CacheAdapterInterface" alias="craue_config_cache_adapter" public="false" />

		<service id="craue_config_default" class="Craue\ConfigBundle\Util\Config" public="true">
			<argument type="service" id="craue_config_cache_adapter" />
			<call method="setEntityManager">
				<argument type="service" id="doctrine.orm.default_entity_manager" />
			</call>
			<call method="setEntityName">
				<argument>%craue_config.entity_name%</argument>
			</call>
		</service>

		<service id="craue_config" alias="craue_config_default" public="true" />

		<!-- autowiring alias -->
		<service id="Craue\ConfigBundle\Util\Config" alias="craue_config_default" public="false" />
	</services>
</container>
