using QRCT_modem_RF_Debug_tool;

namespace QFDT_Components;

public class WCN39xx_TxRxScenario
{
	public WCN39xx_TxScenario txScenario;

	public ChainOriention orientation { get; set; }

	public WCN39xx_TxRxScenario()
	{
		orientation = ChainOriention.Tx;
		txScenario = null;
	}

	public WCN39xx_TxRxScenario(ChainOriention orient)
	{
		orientation = orient;
		txScenario = null;
	}

	public override string ToString()
	{
		string text = orientation.ToString();
		if (orientation == ChainOriention.Tx)
		{
			text += "_";
			text = ((txScenario != null) ? (text + txScenario.ToString()) : (text + "Default"));
		}
		return text;
	}

	public bool CheckEqual(WCN39xx_TxRxScenario obj)
	{
		if (orientation == obj.orientation)
		{
			if (txScenario == null && obj.txScenario == null)
			{
				return true;
			}
			if (txScenario != null && obj.txScenario != null && txScenario.IsEqual(obj.txScenario))
			{
				return true;
			}
		}
		return false;
	}

	public WCN39xx_TxRxScenario DeepCopy()
	{
		WCN39xx_TxRxScenario wCN39xx_TxRxScenario = new WCN39xx_TxRxScenario();
		wCN39xx_TxRxScenario.orientation = orientation;
		if (txScenario != null)
		{
			wCN39xx_TxRxScenario.txScenario = txScenario.DeepCopy();
		}
		return wCN39xx_TxRxScenario;
	}
}
