<?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="stof_doctrine_extensions.listener.uploadable.class">Gedmo\Uploadable\UploadableListener</parameter>
        <parameter key="stof_doctrine_extensions.uploadable.manager.class">Stof\DoctrineExtensionsBundle\Uploadable\UploadableManager</parameter>
        <parameter key="stof_doctrine_extensions.uploadable.mime_type_guesser.class">Stof\DoctrineExtensionsBundle\Uploadable\MimeTypeGuesserAdapter</parameter>
        <parameter key="stof_doctrine_extensions.uploadable.default_file_info.class">Stof\DoctrineExtensionsBundle\Uploadable\UploadedFileInfo</parameter>
    </parameters>
    <services>
        <service id="stof_doctrine_extensions.listener.uploadable" class="%stof_doctrine_extensions.listener.uploadable.class%" public="false">
            <configurator service="stof_doctrine_extensions.uploadable.configurator" method="configure" />
            <argument type="service" id="stof_doctrine_extensions.uploadable.mime_type_guesser" />

            <call method="setAnnotationReader">
                <argument type="service" id="annotation_reader" />
            </call>

            <call method="setDefaultFileInfoClass">
                <argument>%stof_doctrine_extensions.uploadable.default_file_info.class%</argument>
            </call>
        </service>

        <service id="stof_doctrine_extensions.uploadable.mime_type_guesser" class="%stof_doctrine_extensions.uploadable.mime_type_guesser.class%" public="false" />

        <service id="stof_doctrine_extensions.uploadable.manager" class="%stof_doctrine_extensions.uploadable.manager.class%" public="true">
            <argument type="service" id="stof_doctrine_extensions.listener.uploadable" />
            <argument>%stof_doctrine_extensions.uploadable.default_file_info.class%</argument>
        </service>

        <service id="Stof\DoctrineExtensionsBundle\Uploadable\UploadableManager" alias="stof_doctrine_extensions.uploadable.manager" public="false" />

        <service id="stof_doctrine_extensions.uploadable.configurator" class="Stof\DoctrineExtensionsBundle\Uploadable\ValidatorConfigurator" public="false">
            <argument>%stof_doctrine_extensions.uploadable.validate_writable_directory%</argument>
        </service>
    </services>
</container>
