<?xml version="1.0" encoding="UTF-8" ?>
<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">

    <services>

        <service id="sonata.cache.manager" class="Sonata\Cache\CacheManager" >
            <argument />
            <argument />
        </service>


        <service id="sonata.cache.recorder" class="Sonata\Cache\Invalidation\Recorder" >
            <argument type="service" id="sonata.cache.model_identifier"/>
        </service>

        <service id="sonata.cache.model_identifier" class="Sonata\Cache\Invalidation\ModelCollectionIdentifiers" >
            <argument type="collection" />
        </service>

        <service id="sonata.cache.noop" class="Sonata\Cache\Adapter\Cache\NoopCache">
            <tag name="sonata.cache" />
        </service>

        <service id="sonata.cache.mongo" class="Sonata\Cache\Adapter\Cache\MongoCache" >
            <tag name="sonata.cache" />
            <argument type="collection" />
            <argument />
            <argument />
        </service>

        <service id="sonata.cache.memcached" class="Sonata\Cache\Adapter\Cache\MemcachedCache" >
            <tag name="sonata.cache" />
            <argument />
            <argument type="collection" />
        </service>

        <service id="sonata.cache.predis" class="Sonata\Cache\Adapter\Cache\PRedisCache" >
            <tag name="sonata.cache" />
            <argument type="collection" />
        </service>

        <service id="sonata.cache.apc" class="Sonata\CacheBundle\Adapter\ApcCache" >
            <tag name="sonata.cache" />
            <argument type="service" id="router" />
            <argument />
            <argument />
            <argument type="collection" />
        </service>

        <service id="sonata.cache.esi" class="Sonata\CacheBundle\Adapter\VarnishCache">
            <tag name="sonata.cache" />
            <argument />
            <argument type="collection" />
            <argument type="service" id="router" />
            <argument />
            <argument type="service" id="controller_resolver" />
        </service>

        <service id="sonata.cache.ssi" class="Sonata\CacheBundle\Adapter\SsiCache">
            <tag name="sonata.cache" />
            <argument />
            <argument type="service" id="router" />
            <argument type="service" id="controller_resolver" />
        </service>

        <service id="sonata.cache.symfony" class="Sonata\CacheBundle\Adapter\SymfonyCache" >
            <tag name="sonata.cache" />
            <argument type="service" id="router" />
            <argument type="service" id="filesystem" />
            <argument type="string">%kernel.cache_dir%</argument>
            <argument />
            <argument />
            <argument />
            <argument type="collection" />
        </service>

        <service id="sonata.cache.invalidation.simple" class="Sonata\CacheBundle\Invalidation\SimpleCacheInvalidation">
            <argument type="service" id="logger" />
        </service>
    </services>
</container>
