using System.Collections;
using System.Xml.Serialization;

namespace QC.MultiplexManager;

public class Multiplexer
{
	private int id = -1;

	private string driver_dll = "";

	private string bus_cfg = "";

	private string simulation_mode = "";

	private ArrayList routingList;

	[XmlElement("ROUTING_CONFIG")]
	public ROUTING_CONFIG[] RoutingList
	{
		get
		{
			ROUTING_CONFIG[] array = new ROUTING_CONFIG[routingList.Count];
			routingList.CopyTo(array);
			return array;
		}
		set
		{
			if (value != null)
			{
				routingList.Clear();
				foreach (ROUTING_CONFIG value2 in value)
				{
					routingList.Add(value2);
				}
			}
		}
	}

	[XmlAttribute("ID")]
	public int MultiplexerID
	{
		get
		{
			return id;
		}
		set
		{
			id = value;
		}
	}

	[XmlElement("DRIVER_DLL")]
	public string DriverDLL
	{
		get
		{
			return driver_dll;
		}
		set
		{
			driver_dll = value;
		}
	}

	[XmlElement("BUS_CONFIG")]
	public string BusConfig
	{
		get
		{
			return bus_cfg;
		}
		set
		{
			bus_cfg = value;
		}
	}

	[XmlElement("SIMULATION_MODE")]
	public string SimulationMode
	{
		get
		{
			return simulation_mode;
		}
		set
		{
			simulation_mode = value;
		}
	}

	public Multiplexer()
	{
		routingList = new ArrayList();
	}
}
