<?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="knp_paginator.class">Knp\Component\Pager\Paginator</parameter>
    </parameters>

    <services>
        <service id="knp_paginator" class="%knp_paginator.class%">
            <argument type="service" id="event_dispatcher" />
        </service>

        <service id="knp_paginator.subscriber.paginate" class="Knp\Component\Pager\Event\Subscriber\Paginate\PaginationSubscriber" scope="request">
            <tag name="knp_paginator.subscriber" />
        </service>

        <service id="knp_paginator.subscriber.sortable" class="Knp\Component\Pager\Event\Subscriber\Sortable\SortableSubscriber" scope="request">
            <tag name="knp_paginator.subscriber" />
        </service>

        <service id="knp_paginator.subscriber.sliding_pagination" class="Knp\Bundle\PaginatorBundle\Subscriber\SlidingPaginationSubscriber">
            <argument type="service" id="templating" />
            <argument type="service" id="templating.helper.router" />
            <argument type="service" id="translator" />
            <argument type="collection">
                <argument key="defaultPaginationTemplate">%knp_paginator.template.pagination%</argument>
                <argument key="defaultSortableTemplate">%knp_paginator.template.sortable%</argument>
                <argument key="defaultPageRange">%knp_paginator.page_range%</argument>
            </argument>
            <tag name="knp_paginator.subscriber" />
            <tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" />
        </service>
    </services>
</container>
