<?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">

    <parameters>
        <parameter key="sonata.media.metadata.proxy.class">Sonata\MediaBundle\Metadata\ProxyMetadataBuilder</parameter>
        <parameter key="sonata.media.metadata.amazon.class">Sonata\MediaBundle\Metadata\AmazonMetadataBuilder</parameter>
        <parameter key="sonata.media.metadata.noop.class">Sonata\MediaBundle\Metadata\NoopMetadataBuilder</parameter>
        <parameter key="sonata.media.adapater.filesystem.opencloud.class"/>
    </parameters>

    <services>
        <service id="sonata.media.adapter.filesystem.local" class="Sonata\MediaBundle\Filesystem\Local" />
        <service id="sonata.media.adapter.filesystem.ftp"   class="Gaufrette\Adapter\Ftp" />
        <service id="sonata.media.adapter.service.s3"       class="AmazonS3" >
            <argument type="collection" />
        </service>

        <service id="sonata.media.adapter.filesystem.s3"    class="Gaufrette\Adapter\AmazonS3" >
            <argument />
            <argument />
            <argument />
        </service>

        <service id="sonata.media.adapter.filesystem.replicate"  class="Sonata\MediaBundle\Filesystem\Replicate" >
            <argument />
            <argument />
            <argument type="service" id="logger"/>
        </service>

        <service id="sonata.media.adapter.filesystem.mogilefs"  class="Gaufrette\Adapter\MogileFS" >
            <argument />
            <argument />
        </service>

        <service id="sonata.media.adapter.filesystem.opencloud" class="Gaufrette\Adapter\OpenCloud">
            <argument type="service" id="sonata.media.adapter.filesystem.opencloud.objectstore"/>
            <argument/>
            <argument/>
        </service>

        <service id="sonata.media.adapter.filesystem.opencloud.connection" class="%sonata.media.adapter.filesystem.opencloud.class%">
            <argument/>
            <argument/>
        </service>

        <service id="sonata.media.adapter.filesystem.opencloud.objectstore" class="OpenCloud\ObjectSource\Service"
                 factory-service="sonata.media.adapter.filesystem.opencloud.connection"
                 factory-method="ObjectStore">
            <argument/>
            <argument/>
        </service>

        <service id="sonata.media.filesystem.mogilefs" class="Gaufrette\Filesystem" >
            <argument type="service" id="sonata.media.adapter.filesystem.mogilefs" />
        </service>

        <service id="sonata.media.filesystem.ftp" class="Gaufrette\Filesystem" >
            <argument type="service" id="sonata.media.adapter.filesystem.ftp" />
        </service>

        <service id="sonata.media.filesystem.local" class="Gaufrette\Filesystem">
            <argument type="service" id="sonata.media.adapter.filesystem.local" />
        </service>

        <service id="sonata.media.filesystem.s3" class="Gaufrette\Filesystem">
            <argument type="service" id="sonata.media.adapter.filesystem.s3" />
        </service>

        <service id="sonata.media.filesystem.replicate" class="Gaufrette\Filesystem">
            <argument type="service" id="sonata.media.adapter.filesystem.replicate" />
        </service>

        <service id="sonata.media.metadata.proxy" class="%sonata.media.metadata.proxy.class%">
            <argument type="service" id="service_container" />
            <argument type="collection" />
        </service>

        <service id="sonata.media.metadata.amazon" class="%sonata.media.metadata.amazon.class%">
        </service>

        <service id="sonata.media.metadata.noop" class="%sonata.media.metadata.noop.class%">
        </service>
    </services>

</container>
