<?php
/**
 * Magento 2 Google Analytics 4 (GA4) GTM
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Anowave license that is
 * available through the world-wide-web at this URL:
 * https://www.anowave.com/license-agreement/
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade this extension to newer
 * version in the future.
 *
 * @category 	Anowave
 * @package 	Anowave_Ec
 * @copyright 	Copyright (c) 2026 Anowave (https://www.anowave.com/)
 * @license  	https://www.anowave.com/license-agreement/
 */

namespace Anowave\Ec\Context;

use Anowave\Ec\Registry\CurrentCustomer;
use Anowave\Ec\Registry\CurrentProduct;
use Anowave\Ec\Registry\CurrentCategory;

class CurrentContext
{
    protected CurrentCustomer $currentCustomer;
    protected CurrentProduct $currentProduct;
    protected CurrentCategory $currentCategory;

    public function __construct
    (
        CurrentCustomer $currentCustomer,
        CurrentProduct $currentProduct,
        CurrentCategory $currentCategory
    )
    {
        $this->currentCustomer = $currentCustomer;
        $this->currentCategory = $currentCategory;
        $this->currentProduct = $currentProduct;
    }

    public function getCurrentCustomer() : CurrentCustomer
    {
        return $this->currentCustomer;
    }

    public function getCurrentProduct() : CurrentProduct
    {
        return $this->currentProduct;
    }

    public function getCurrentCategory() : CurrentCategory
    {
        return $this->currentCategory;
    }
}
