<?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_cms.cms_manager">OfficeBrain\Bundle\CmsBundle\Manager\Service\CmsService</parameter>
        <parameter key="office_brain_sitemap.sitemap_manager">OfficeBrain\Bundle\CmsBundle\Manager\Service\SitemapService</parameter>
        <parameter key="office_brain_cms.cms_media_library_manager">OfficeBrain\Bundle\CmsBundle\Manager\Service\CmsMediaLibraryService</parameter>
        <parameter key="office_brain_cms.cms_menu_manager">OfficeBrain\Bundle\CmsBundle\Manager\Service\CmsMenuService</parameter>
        <parameter key="office_brain_cms.cms_page_manager">OfficeBrain\Bundle\CmsBundle\Manager\Service\CmsPageService</parameter>
        <parameter key="office_brain_cms.cms_third_party_manager">OfficeBrain\Bundle\CmsBundle\Manager\Service\CmsThirdPartyService</parameter>
        <parameter key="office_brain_cms.cms_contact_us">OfficeBrain\Bundle\CmsBundle\Manager\Service\CmsContactUsService</parameter>
     	<parameter key="office_brain_cms.cms_search_criteria_manager">OfficeBrain\Bundle\CmsBundle\Manager\Service\CmsSearchCriteriaService</parameter>
    </parameters>

    <services>
        <!-- Media Library services starts -->
        <service id="office_brain_cms_media_library_factory" class="%office_brain_cms.cms_media_library_manager%"/>

        <service id="office_brain_cms_media_library_manager" class="%office_brain_cms.cms_media_library_manager%" scope='request'>
            <factory service="office_brain_cms_media_library_factory" method="initFactory"/>
            <argument type="service" id="doctrine.orm.entity_manager" />
            <argument type="service" id="request"/>
            <argument type="service" id="knp_paginator" />
            <argument>%cms.media_file_url%</argument>
            <argument>%cms.media_file_path%</argument>
        </service>
        <!-- Media Library services ends -->

        <!-- Sitemap services starts -->
        <service id="office_brain_sitemap_factory" class="%office_brain_sitemap.sitemap_manager%"/>

        <service id="office_brain_sitemap_manager" class="%office_brain_sitemap.sitemap_manager%" scope='request'>
            <factory service="office_brain_sitemap_factory" method="initFactory"/>
            <argument type="service" id="doctrine.orm.entity_manager" />
            <argument type="service" id="request"/>
            <argument type="service" id="router"/>
            <argument type="service" id="officebrain_category_api_manager"/>
            <argument type="service" id="office_brain_cms_page_manager"/>
            <argument>%language%</argument>
            <argument>%base_path%</argument>
        </service>
        <!-- Sitemap services ends -->

        <!--  Cms menu service starts -->
        <service id="office_brain_cms_menu_factory" class="%office_brain_cms.cms_menu_manager%"/>

        <service id="office_brain_cms_menu_manager" class="%office_brain_cms.cms_menu_manager%" scope='request'>
            <factory service="office_brain_cms_menu_factory" method="initFactory"/>
            <argument type="service" id="doctrine.orm.entity_manager" />
            <argument type="service" id="request"/>
            <argument type="service" id="office_brain_cms_page_manager"/>
            <argument type="service" id="router"/>
            <argument type="service" id="officebrain_category_api_manager"/>
            <argument type="service" id="office_brain_product_tag_manager"/>
            <argument type="service" id="office_brain_cms_search_criteria_manager"/>
            <argument>%country%</argument>
            <argument>%language%</argument>
            <argument>%cms_menu_media_upload_location%</argument>
            <argument>%user_type%</argument>
        </service>
        <!--  Cms menu service end -->

        <!--  Cms page service starts -->
        <service id="office_brain_cms_page_factory" class="%office_brain_cms.cms_page_manager%"/>

        <service id="office_brain_cms_page_manager" class="%office_brain_cms.cms_page_manager%" scope='request'>
            <factory service="office_brain_cms_page_factory" method="initFactory"/>
            <argument type="service" id="doctrine.orm.entity_manager" />
            <argument type="service" id="request"/>
            <argument type="service" id="knp_paginator" />
            <argument>%country%</argument>
            <argument>%language%</argument>
        </service>
        <!--  Cms page service end -->

        <!--  Cms search criteria service starts -->
        <service id="office_brain_cms_search_criteria_factory" class="%office_brain_cms.cms_search_criteria_manager%"/>

        <service id="office_brain_cms_search_criteria_manager" class="%office_brain_cms.cms_search_criteria_manager%" scope='request'>
            <factory service="office_brain_cms_search_criteria_factory" method="initFactory"/>
            <argument type="service" id="doctrine.orm.entity_manager" />
            <argument type="service" id="request"/>
            <argument type="service" id="knp_paginator" />
            <argument type="service" id="translator" />
            <argument>%country%</argument>
            <argument>%language%</argument>
        </service>
        <!--  Cms search criteria service end -->


        <!--  Cms third party service starts -->
        <service id="office_brain_cms_third_party_service_factory" class="%office_brain_cms.cms_third_party_manager%"/>

        <service id="office_brain_cms_third_party_service_manager" class="%office_brain_cms.cms_third_party_manager%" scope='request'>
            <factory service="office_brain_cms_third_party_service_factory" method="initFactory"/>
            <argument type="service" id="doctrine.orm.entity_manager" />
            <argument type="service" id="request"/>
            <argument type="service" id="translator"/>
            <argument type="service" id="knp_paginator" />
            <argument type="service" id="form.factory" />
            <argument>%country%</argument>
            <argument>%language%</argument>
            <argument>%base_path%</argument>
        </service>
        <!--  Cms third party service end -->
        
        <!--  Cms Contact Us Form Service -->
        <service id="office_brain_cms_contact_us_service_factory" class="%office_brain_cms.cms_contact_us%"/>

        <service id="office_brain_cms_contact_us_service_manager" class="%office_brain_cms.cms_contact_us%" scope='request'>
            <factory service="office_brain_cms_contact_us_service_factory" method="initFactory"/>
            <argument type="service" id="doctrine.orm.entity_manager" />
            <argument type="service" id="request"/>
            <argument type="service" id="translator"/>
            <argument type="service" id="knp_paginator" />
            <argument type="service" id="form.factory" />
            <argument>%country%</argument>
            <argument>%language%</argument>
            <argument>%base_path%</argument>
        </service>
        <!--   Cms Contact Us Form Service -->
        

    </services>
</container>
