<?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="office_brain_search.search_manager">OfficeBrain\Bundle\SearchBundle\Manager\Service\SearchManager</parameter>
		<parameter key="office_brain_search_api.class">OfficeBrain\Bundle\SearchBundle\ApiClient\SearchApiClient</parameter>
		<parameter key="office_brain_search_helper.class">OfficeBrain\Bundle\SearchBundle\Helper\SearchHelper</parameter>
		<parameter key="office_brain_search.category_manager">OfficeBrain\Bundle\SearchBundle\Manager\Service\BrowseCategoryManager</parameter>
	</parameters>
	<services>
	   
	   <service id="office_brain_search_api" class="%office_brain_search_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="office_brain_search_helper" class="%office_brain_search_helper.class%" scope="request">
            <argument type="service" id="request" />
	    	<argument type="service" id="service_container" />
	    </service>
	    
		<service id="office_brain_search_manager_factory" class="%office_brain_search.search_manager%"/>
		<service id="office_brain_search_manager" class="%office_brain_search.search_manager%" scope='request'>
            <factory service="office_brain_search_manager_factory" method="initFactory"/>
             <argument type="service" id="doctrine.orm.entity_manager"/>
             <argument type="service" id="request"/>
             <argument type="service" id="office_brain_solr.product_search" />
             <argument type="service" id="office_brain_product_detail_manager"/>
             <argument type="service" id="officebrain_category_api_manager" />
             <argument type="service" id="office_brain_session_manager"/>
             <argument type="service" id="knp_paginator" />
             <argument type="service" id="service_container" />
        </service>
        
        <service id="office_brain_category_manager_factory" class="%office_brain_search.category_manager%"/>
		<service id="office_brain_category_manager" class="%office_brain_search.category_manager%" scope='request'>
            <factory service="office_brain_category_manager_factory" method="initFactory"/>
             <argument type="service" id="doctrine.orm.entity_manager"/>
             <argument type="service" id="request"/>
             <argument type="service" id="officebrain_category_api_manager" />
             <argument type="service" id="knp_paginator" />
             <argument type="service" id="service_container" />
        </service>
	    
	</services>
</container>