<?xml version="1.0" ?>

<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="officebrain_category_api.class">OfficeBrain\Bundle\CategoryBundle\ApiClient\ApiClient</parameter>
        <parameter key="officebrain_category_api_manager.class">OfficeBrain\Bundle\CategoryBundle\Manager\ApiManager</parameter>
        <parameter key="officebrain.entity.category.mapping.class">OfficeBrain\Bundle\CategoryBundle\Entity\CategoryMapping</parameter>
        <parameter key="officebrain.entity.country.category.ignore.class">OfficeBrain\Bundle\CategoryBundle\Entity\CountryCategoryIgnore</parameter>
        <parameter key="officebrain.entity.culture.category.mapping.class">OfficeBrain\Bundle\CategoryBundle\Entity\CultureCategoryMapping</parameter>
        <parameter key="officebrain_category_culture_manager.class">OfficeBrain\Bundle\CategoryBundle\Manager\CategoryCultureManager</parameter>
    </parameters>

    <services>
        <service id="officebrain_category_api" class="%officebrain_category_api.class%"  scope="request">
			<argument type="service" id="request" />
            <argument>%api.base_url%</argument>
            <argument>%api.access_token%</argument>
            <argument>%api.default_version%</argument>
            <argument>%api.available_call_to_override%</argument>
	   </service>
	   
	   <service id="officebrain_category_culture_manager" class="%officebrain_category_culture_manager.class%" scope="request">
	    	<argument type="service" id="request" />
	    	<argument type="service" id="service_container" />	    	
	   </service>
	   
	   <service id="officebrain.category.mapping.entity.manager" class="Doctrine\ORM\EntityManager"
            factory-service="doctrine" factory-method="getManagerForClass">
            <argument>%officebrain.entity.category.mapping.class%</argument>
        </service>
        
        <service id="officebrain.category.mapping.repository"
            class="OfficeBrain\Bundle\CategoryBundle\Entity\CategoryMappingRepository"
            factory-service="officebrain.category.mapping.entity.manager" factory-method="getRepository">
            <argument>%officebrain.entity.category.mapping.class%</argument>
        </service>
        
        <service id="officebrain.country.category.ignore.entity.manager" class="Doctrine\ORM\EntityManager"
            factory-service="doctrine" factory-method="getManagerForClass">
            <argument>%officebrain.entity.country.category.ignore.class%</argument>
        </service>
        
        <service id="officebrain.country.category.ignore.repository"
            class="OfficeBrain\Bundle\CategoryBundle\Entity\CountryCategoryIgnoreRepository"
            factory-service="officebrain.country.category.ignore.entity.manager" factory-method="getRepository">
            <argument>%officebrain.entity.country.category.ignore.class%</argument>
        </service>
        
        <service id="officebrain.culture.category.mapping.entity.manager" class="Doctrine\ORM\EntityManager"
            factory-service="doctrine" factory-method="getManagerForClass">
            <argument>%officebrain.entity.culture.category.mapping.class%</argument>
        </service>
        
        <service id="officebrain.culture.category.mapping.repository"
            class="OfficeBrain\Bundle\CategoryBundle\Entity\CultureCategoryMappingRepository"
            factory-service="officebrain.culture.category.mapping.entity.manager" factory-method="getRepository">
            <argument>%officebrain.entity.culture.category.mapping.class%</argument>
        </service>
        
	   <service id="officebrain_category_api_manager" class="%officebrain_category_api_manager.class%" scope="request">
	    	<argument type="service" id="request" />
        	<argument type="service" id="officebrain_category_api" />
        	<argument type="service" id="officebrain.category.mapping.entity.manager" />
            <argument type="service" id="officebrain.category.mapping.repository" />
            <argument type="service" id="officebrain.country.category.ignore.entity.manager" />
            <argument type="service" id="officebrain.country.category.ignore.repository" />
            <argument>%country%</argument>
            <argument type="service" id="officebrain.product.category.mapping.repository" />
            <argument type="service" id="officebrain.culture.category.mapping.repository" />
            <argument type="service" id="service_container" />
            <argument type="service" id="office_brain_subshop_inquiry_manager" />
	   </service>
    </services>    
</container>
