using System.Collections.ObjectModel;
using Aitex.Core.UI.MVVM;
using CyberX8_Simulator.Instances;
using MECF.Framework.Common.IOCore;
using System;

namespace CyberX8_Simulator.Views
{
    public class IoViewModel  : TimerViewModelBase
    {
        public SimulatorPlc Plc { get; set; }

        public ObservableCollection<NotifiableIoItem> DIs { get; set; }
        public ObservableCollection<NotifiableIoItem> DOs { get; set; }
        public ObservableCollection<NotifiableIoItem> AIs { get; set; }
        public ObservableCollection<NotifiableIoItem> AOs { get; set; }

        public IoViewModel(int port, string source, string ioMapPathFile, string module) : base(nameof(IoViewModel))
        {
            Plc = new SimulatorPlc(port, source, ioMapPathFile, module);

            DIs = Plc.DiItemList;
            DOs = Plc.DoItemList;
            AIs = Plc.AiItemList;
            AOs = Plc.AoItemList;
        }


        protected override void Poll()
        {


        }
    }
}