using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FLY.Thick.FilmCasting.Common
{
    public class FlyADIODefine : FLY.Thick.Base.Common.FlyADIODefine
    {
        public static new FlyADIODefine Instance { get; } = new FlyADIODefine();

        protected override List<string> GetInputPropertyNames()
        {
            return new List<string> { 
                nameof(InNo_Org),
                nameof(InNo_Limit_Forw),
                nameof(InNo_Limit_Backw),
                nameof(InNo_DataValid),
                nameof(InNo_Manual_Forw),
                nameof(InNo_Manual_Backw),
                nameof(InNo_Roll)
            };
        }
        protected override List<string> GetOutputPropertyNames()
        {
            return new List<string> {
                nameof(OutNo_VF0_Forw),
                nameof(OutNo_VF0_Backw),
                nameof(OutNo_VF0_Slow),
                nameof(OutNo_Alarm)
            };
        }

        public override void SerVersion(int version)
        {
            base.SerVersion(version);

            FLY.Thick.Base.Common.FlyADIODefine.Instance.SerVersion(version);
        }
    }
}
