using DeviceProcessor;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WayneChina_IcCardReader_SinoChem.MessageEntity;
using WayneChina_IcCardReader_SinoChem.MessageEntity.Incoming;

namespace WayneChina_IcCardReader_SinoChem
{
    public class Handler : IHandler<byte[], IcCardReaderMessageBase>, IFdcCommunicableController
    {
        public Func<string, bool> BroadcastMessageViaFdc { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
        public Func<string, Tuple<string, global::Wayne.FDCPOSLibrary.OverallResult>> OnMessageReceivedViaFdc { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }

        public Guid Id => throw new NotImplementedException();

        public void Init(IContext<byte[], IcCardReaderMessageBase> context)
        {
            throw new NotImplementedException();
        }

        public void Process(IContext<byte[], IcCardReaderMessageBase> context)
        {
            switch (context.Incoming.Message)
            {
                case CardReaderStateEvent stateEvent when stateEvent.State == CardReaderState.CardInserted:
                    {
                        break;
                    }

                default:
                    throw new ArgumentNullException();
            }
        }
    }
}
