<?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="dtgs_google_tag_manager.smarty_dir">%dtgs_google_tag_manager.plugin_dir%/Resources/smarty</parameter>
    </parameters>

    <services>
        <defaults public="true" />

        <!-- Subscriber -->
        <service id="dtgs_google_tag_manager.subscriber.general" class="DtgsGoogleTagManager\Subscriber\Frontend\General">
            <argument type="service" id="service_container" />
            <argument type="service" id="Shopware\Bundle\CookieBundle\Services\CookieHandler"/>
            <tag name="shopware.event_subscriber" />
        </service>
        <!-- Subscriber -->
        <service id="dtgs_google_tag_manager.subscriber.cookie" class="DtgsGoogleTagManager\Subscriber\Frontend\Cookie">
            <argument type="service" id="service_container" />
            <tag name="shopware.event_subscriber" />
        </service>
        <!-- Subscriber -->
        <service id="dtgs_google_tag_manager.subscriber.admin" class="DtgsGoogleTagManager\Subscriber\Modules\Admin">
            <argument type="service" id="service_container" />
            <tag name="shopware.event_subscriber" />
        </service>
        <!-- Register TemplateRegistration subscriber -->
        <service id="dtgs_google_tag_manager.subscriber.template_registration" class="DtgsGoogleTagManager\Subscriber\Frontend\TemplateRegistration">
            <argument>%dtgs_google_tag_manager.plugin_dir%</argument>
            <argument type="service" id="template"/>
            <tag name="shopware.event_subscriber"/>
        </service>
        <!-- Helper -->
        <service id="dtgs_google_tag_manager.components.ga4_helper" class="DtgsGoogleTagManager\Components\Ga4Helper" />
        <service id="dtgs_google_tag_manager.components.tag_manager_helper" class="DtgsGoogleTagManager\Components\TagManagerHelper" />
        <service id="dtgs_google_tag_manager.components.remarketing_helper" class="DtgsGoogleTagManager\Components\RemarketingHelper" />
        <service id="dtgs_google_tag_manager.components.enhanced_ecommerce_helper" class="DtgsGoogleTagManager\Components\EnhancedEcommerceHelper" />
        <service id="dtgs_google_tag_manager.components.adwords_helper" class="DtgsGoogleTagManager\Components\AdwordsHelper" />
    </services>
</container>