parameters:
    sessions.manager.class: App\SessionsBundle\Services\SessionsManager
    session_text_values.manager.class: App\SessionsBundle\Services\SessionTextValuesManager
    session_values.manager.class: App\SessionsBundle\Services\SessionValuesManager
    session_urls.manager.class: App\SessionsBundle\Services\SessionUrlsManager
    sites.manager.class: App\SessionsBundle\Services\SitesManager
    session.response_listener.class: App\SessionsBundle\EventListener\ResponseListener
    session.request_listener.class: App\SessionsBundle\EventListener\RequestListener

services:
    admin.sessions:
        class: App\SessionsBundle\Admin\SessionsAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: Reports, label: Sessions, audit: false, model_class: App\SessionsBundle\Entity\Sessions }
        calls:
            - [ setSecurityContext, [ "@security.token_storage" ] ]
            - [ setEntityManager, [ "@doctrine.orm.entity_manager" ] ]
    admin.sites:
        class: App\SessionsBundle\Admin\SitesAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: System, label: Sites, audit: false, model_class: App\SessionsBundle\Entity\Sites }
        calls:
            - [ setSecurityContext, [ "@security.token_storage" ] ]
            - [ setEntityManager, [ "@doctrine.orm.entity_manager" ] ]
            - [ setContainer, ["@service_container"] ]
    sessions.manager:
        class: "%sessions.manager.class%"
        public: true
        arguments: [ "@service_container" ]
    session_text_values.manager:
        class: "%session_text_values.manager.class%"
        public: true
        arguments: [ "@service_container" ]
    session_values.manager:
        class: "%session_values.manager.class%"
        public: true
        arguments: [ "@service_container" ]
    session_urls.manager:
        class: "%session_urls.manager.class%"
        public: true
        arguments: [ "@service_container" ]
    sites.manager:
        class: "%sites.manager.class%"
        public: true
        arguments: [ "@service_container" ]
    sessions.response_listener:
        class: "%session.response_listener.class%"
        calls:
            - [ setContainer, ["@service_container"] ]
        tags:
            - { name: kernel.event_listener, event: kernel.response, method: onKernelResponse }
    sessions.request_listener:
        class: "%session.request_listener.class%"
        calls:
            - [ setContainer, ["@service_container"] ]
        tags:
            - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }