services:
    oro_windows.twig.extension:
        class: Oro\Bundle\WindowsBundle\Twig\WindowsExtension
        public: false
        arguments:
            - '@oro_platform.twig.service_locator'
        tags:
            - { name: twig.extension }

    oro_windows.manager.windows_state_registry:
        class: Oro\Bundle\WindowsBundle\Manager\WindowsStateManagerRegistry
        public: true
        arguments:
            - [] # user classes that have an assigned windows state manager
            - ~ # service locator for windows state managers
            - '@security.token_storage'

    oro_windows.manager.windows_state:
        class: Oro\Bundle\WindowsBundle\Manager\WindowsStateManager
        arguments:
            - '@security.token_storage'
            - '@doctrine'
            - '@oro_windows.manager.windows_state_request'
            - 'Oro\Bundle\WindowsBundle\Entity\WindowsState'
        tags:
            - { name: oro_windows.windows_state_manager, user_class: Oro\Bundle\UserBundle\Entity\User }

    oro_windows.manager.windows_state_request:
        class: Oro\Bundle\WindowsBundle\Manager\WindowsStateRequestManager
        arguments:
            - '@request_stack'
