<?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_cache.redis.class">OfficeBrain\Bundle\CacheBundle\Manager\RedisCache</parameter>
    </parameters>

    <services>
        <service id="office_brain_cache" class="%office_brain_cache.redis.class%">
        	<argument type="service" id="kernel" />
        	<argument type="service" id="request_stack" />
            <argument>%office_brain_cache.host%</argument>
            <argument>%office_brain_cache.port%</argument>
        </service>
        <service id="office_brain.cache.request.listner" class="OfficeBrain\Bundle\CacheBundle\Listener\ServerSideCacheListener">
             <tag name="kernel.event_listener" event="kernel.request" method="onKernelRequestGetFromCache" />
              <argument type="service" id="kernel" />
              <argument type="service" id="office_brain_cache" />
        </service>
		<service id="office_brain.cache.response.listner" class="OfficeBrain\Bundle\CacheBundle\Listener\ServerSideCacheListener">
             <tag name="kernel.event_listener" event="kernel.response" method="onKernelResponseSaveToCache" />
              <argument type="service" id="kernel" />
              <argument type="service" id="office_brain_cache"/>
        </service>
        <service id="office_brain_cache_response_listner" class="OfficeBrain\Bundle\CacheBundle\Listener\ClientSideCacheListener">
			<tag name="kernel.event_listener" event="kernel.response" method="onKernelResponseSetCacheHeaderForJs" />
			<argument type="service" id="kernel" />
    	</service>
    </services>
</container>