services:
    d2_pos_manager:
        class:          D2\ShopBundle\DependencyInjection\Services\POSManager
        arguments:      [@service_container, @mailer, @templating, @doctrine.orm.entity_manager]

    # With Selected Extensions
    d2_shop_bundle.supplier_with_selected.extension:
        class:          D2\ShopBundle\DependencyInjection\Services\ShopSupplierWithSelectedExtension
        arguments:      [@doctrine, @service_container]
        tags:
            - { name: d2.with_selected, alias: shop_supplier_list }
            - { name: d2.with_selected, alias: shop_supplier }

    d2_shop_bundle.product_with_selected.extension:
        class:          D2\ShopBundle\DependencyInjection\Services\ShopProductWithSelectedExtension
        arguments:      [@doctrine, @service_container]
        tags:
            - { name: d2.with_selected, alias: shop_product_list }
            - { name: d2.with_selected, alias: shop_product }

    d2_shop_bundle.product_attribute_with_selected.extension:
        class:          D2\ShopBundle\DependencyInjection\Services\ShopProductAttributeWithSelectedExtension
        arguments:      [@doctrine, @service_container]
        tags:
            - { name: d2.with_selected, alias: shop_product_attribute_list }
            - { name: d2.with_selected, alias: shop_product_attribute }

    d2_shop_bundle.stock_item_with_selected.extension:
        class:          D2\ShopBundle\DependencyInjection\Services\ShopStockItemWithSelectedExtension
        arguments:      [@doctrine, @service_container]
        tags:
            - { name: d2.with_selected, alias: shop_stock_item_list }
            - { name: d2.with_selected, alias: shop_stock_item }

    d2_shop_bundle.twig.shop_extension:
        class:          D2\ShopBundle\Twig\POSTwigExtension
        arguments:      [@doctrine, @service_container]
        tags:
            - { name: twig.extension }
