using Edge.Core.Parser.BinaryParser;
using Edge.Core.Parser.BinaryParser.MessageEntity;
using Edge.Core.Parser.BinaryParser.Util;
using ShengJu_CUT100_DES.MessageEntity.Incoming;
using System;
namespace ShengJu_CUT100_DES.MessageEntity
{
///
///
public class MessageTemplateLookup : IMessageTemplateLookup
{
///
///
///
/// ADR CTRL trans_Number trans_Length trans_data
///
public MessageTemplateBase GetMessageTemplateByRawBytes(byte[] bytes)
{
if (bytes[0] == 5 && bytes[3] == 0)
return new GenericSuccessResponse();
else if (bytes[0] == 6 && bytes[3] != 0)
return new GenericFailureResponse();
else if (bytes[2] == 0x15)
return new ReadModuleInfoResponse();
else if (bytes[2] == 0x16)
return new ActivateATypeCardResponse();
else if (bytes[2] == 0xB2)
return new ReadAppFileResponse();
else if (bytes[2] == 0xB8)
return new ReadAppDirsResponse();
// return new Wayne_Pump_Dart.MessageEntity.Incoming.EOT();
//else if (bytes[2] == 0x01 && bytes[3] == 1 && bytes[4] == 0x00)
// return new Wayne_Pump_Dart.MessageEntity.Incoming.PumpStatus_ResponseOrEvent();
throw new ArgumentException("Could not find any msg template for input bytes: 0x" + bytes.ToHexLogString());
}
}
}