<?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\Model\Cookie;

use Magento\Framework\Session\SessionManagerInterface;
use Magento\Framework\Stdlib\Cookie\CookieMetadataFactory;
use Magento\Framework\Stdlib\CookieManagerInterface;


class BuiltIn extends Directive
{
	public function __construct
	(
		CookieManagerInterface $cookieManager,
		CookieMetadataFactory $cookieMetadataFactory,
		SessionManagerInterface $sessionManager
	)
	{
		parent::__construct($cookieManager, $cookieMetadataFactory, $sessionManager);
	}

	public function setName(string $name = '') : self 
	{
		$this->name = $name;

		return $this;
	}

	public function get()
	{
		return $this->cookieManager->getCookie($this->name);
	}

	public function hasConsent() : bool
	{
		$consent = $this->get();

		if ($consent)
		{
			return 1 === (int) $consent;
		}

		return false;
	}
}