using System.Collections.Generic;
using Wayne.ForecourtControl.Fusion;

namespace Wayne.ForecourtControl.Vir.Fusion
{
    public static class FUSIONVirFactory
    {
        static List<IVir> virList = new List<IVir>();
        
        // Methods
        public static IVir CreateVir(int fcId, int id)
        {
            FUSIONVir vir = new FUSIONVir(fcId, id);
            virList.Add(vir);
            return vir;
        }

        public static System.Collections.ObjectModel.ReadOnlyCollection<IVir> Virs
        {
            get { return virList.AsReadOnly(); }
        }

        public static IVir getVir(int deviceId)
        {
            foreach (FUSIONVir fusionVir in FUSIONVirFactory.virList)
            {
                if (fusionVir.Id == deviceId)
                {
                    return fusionVir;
                }
            }
            Trace.WriteLineIf(Trace.CheckTraceLevel(2), string.Format("vir={0} NOT found", deviceId));
            return null;
        }

    }
}