using Highway.Assemble.common;
using Mesnac.DeviceAdapterNet;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Highway.Assemble.EquipClient
{
    public interface IEquipClient
    {
        void Init();

        void CreatEquipClient();

        void EquipInfo(List<Equip> equipList);

        void SensorInfo(List<Sensor> sensorList);

        Task ReadEPC(int id);

        void RecSendData(Action<int, byte[]> action);

        void RecAutoData(Action<int, byte[]> action);

        void RecEquipState(Action<List<DeviceInfo>> action);

        void ReadData(int num, byte filterMembank, ushort filterWordPtr, ushort filterWordCnt, byte[] filterData, byte Membank, ushort WordPtr, ushort WordCnt);

        void RetReadData(Action<int, byte[]> action);

        void WriteData(int num, byte filterMembank, ushort filterWordPtr, ushort filterWordCnt, byte[] filterData, byte Membank, ushort WordPtr, ushort WordCnt, byte[] pWriteData, byte Antenna);

        void RecGetData(Action<int, int, int> action);

        void Device_BeginIdentify(int num);

        bool Device_StopIdentify(int num);

        Task Device_MESBeginIdentify(int num);

        string ReadEPCData(int id);


    }
}
