services:
    _defaults:
        autoconfigure: true

    _instanceof:
        Contao\CoreBundle\Framework\FrameworkAwareInterface:
            calls:
                - [setFramework, ['@contao.framework']]

    contao_faq.insert_tag.faq:
        class: Contao\FaqBundle\InsertTag\FaqInsertTag
        arguments:
            - '@contao.framework'
            - '@contao.routing.content_url_generator'

    contao_faq.listener.data_container.faq_search:
        class: Contao\FaqBundle\EventListener\DataContainer\FaqSearchListener
        arguments:
            - '@contao.framework'
            - '@database_connection'
            - '@contao.routing.content_url_generator'

    contao_faq.listener.sitemap:
        class: Contao\FaqBundle\EventListener\SitemapListener
        arguments:
            - '@contao.framework'
            - '@security.helper'
            - '@contao.routing.content_url_generator'

    contao_faq.migration.overwrite_meta:
        class: Contao\FaqBundle\Migration\OverwriteMetaMigration
        arguments:
            - '@database_connection'

    contao_faq.picker.faq_provider:
        class: Contao\FaqBundle\Picker\FaqPickerProvider
        arguments:
            - '@knp_menu.factory'
            - '@router'
            - '@?translator'
            - '@security.helper'

    contao_faq.routing.faq_resolver:
        class: Contao\FaqBundle\Routing\FaqResolver
        arguments:
            - '@contao.framework'

    contao_faq.security.faq_access_voter:
        class: Contao\FaqBundle\Security\Voter\FaqAccessVoter
        arguments:
            - '@security.access.decision_manager'

    contao_faq.security.faq_category_access_voter:
        class: Contao\FaqBundle\Security\Voter\FaqCategoryAccessVoter
        arguments:
            - '@security.access.decision_manager'
