GrpcPrint/PrintS/Communication/YLRCommand.cpp

145 lines
3.9 KiB
C++
Raw Normal View History

2024-03-19 17:45:12 +08:00
#include "YLRCommand.h"
YLRCommand::YLRCommand(string strcom)
:m_Command(strcom)
{
}
YLRCommand::~YLRCommand()
{
}
int YLRCommand::GetRequestSequence(unsigned char* bseq)
{
string str = "";
str = m_Command + "\r";
memcpy(bseq, str.c_str(), str.length());
return str.length();
}
YLRReadCommand::YLRReadCommand(string command):YLRCommand(command)
,m_Value("")
{
}
YLRReadCommand::~YLRReadCommand()
{
}
bool YLRReadCommand::Verify(unsigned char* rseq, int dlength)
{
if (dlength <= 0)return false;
char data[1024];
memset(data, '\0', sizeof(data));
memcpy(data, rseq, dlength);
if (data[dlength - 1] != '\r')return false;
bool rel = true;
for (size_t i=0; i < m_Command.length();i++) {
if (rseq[i] != m_Command[i]) {
rel = false;
break;
}
}
if (!rel)return false;
bool isfind = false;
char value[64];
int valueFlag = 0;
memset(value, '\0', sizeof(value));
for (int i = 0; i < dlength;i++) {
if(data[i] == ' ')continue;
if (data[i] == '\r')continue;
if (data[i] == ':') {
isfind = true;
continue;
}
if (isfind && (valueFlag<sizeof(value))) {
value[valueFlag]=data[i];
valueFlag++;
}
}
m_Value = string(value);
return rel;
}
YLREchoCommand::YLREchoCommand(string command):YLRCommand(command)
{
}
YLREchoCommand::~YLREchoCommand()
{
}
bool YLREchoCommand::Verify(unsigned char* rseq, int dlength)
{
if (dlength <= 0)return false;
char data[1024];
memset(data, '\0', sizeof(data));
memcpy(data, rseq, dlength);
if (data[dlength - 1] != '\r')return false;
bool rel = true;
for (size_t i = 0; i < m_Command.length(); i++) {
if (rseq[i] != m_Command[i]) {
rel = false;
break;
}
}
return rel;
}
/*const string YLRCommand::COMMAND_YLR_ABF="ABF";
const string YLRCommand::COMMAND_YLR_ABN = "ABN";
const string YLRCommand::COMMAND_YLR_DEABC = "DEABC";
const string YLRCommand::COMMAND_YLR_DGM = "DGM";
const string YLRCommand::COMMAND_YLR_DLE = "DLE";
const string YLRCommand::COMMAND_YLR_DMOD = "DMOD";
const string YLRCommand::COMMAND_YLR_DPM = "DPM";
const string YLRCommand::COMMAND_YLR_DWPM = "DWPM";
const string YLRCommand::COMMAND_YLR_EEABC = "EEABC";
const string YLRCommand::COMMAND_YLR_EEC = "EEC";
const string YLRCommand::COMMAND_YLR_EGM = "EGM";
const string YLRCommand::COMMAND_YLR_ELE = "ELE";
const string YLRCommand::COMMAND_YLR_EMOD = "EMOD";
const string YLRCommand::COMMAND_YLR_EMOFF = "EMOFF";
const string YLRCommand::COMMAND_YLR_EMON = "EMON";
const string YLRCommand::COMMAND_YLR_EPM = "EPM";
const string YLRCommand::COMMAND_YLR_EWPM = "EWPM";
const string YLRCommand::COMMAND_YLR_LFP = "LFP";
const string YLRCommand::COMMAND_YLR_PCFG = "PCFG";
const string YLRCommand::COMMAND_YLR_PRLS = "PRLS";
const string YLRCommand::COMMAND_YLR_PRSEL = "PRSEL";
const string YLRCommand::COMMAND_YLR_RBAUD = "RBAUD";
const string YLRCommand::COMMAND_YLR_RCS = "RCS";
const string YLRCommand::COMMAND_YLR_RCT = "RCT";
const string YLRCommand::COMMAND_YLR_RERR = "RERR";
const string YLRCommand::COMMAND_YLR_RET = "RET";
const string YLRCommand::COMMAND_YLR_RFV = "RFV";
const string YLRCommand::COMMAND_YLR_RIP = "RIP";
const string YLRCommand::COMMAND_YLR_RMASK = "RMASK";
const string YLRCommand::COMMAND_YLR_RMEC = "RMEC";
const string YLRCommand::COMMAND_YLR_RNC = "RNC";
const string YLRCommand::COMMAND_YLR_ROP = "ROP";
const string YLRCommand::COMMAND_YLR_RPP = "RPP";
const string YLRCommand::COMMAND_YLR_RPRR = "RPRR";
const string YLRCommand::COMMAND_YLR_RPW = "RPW";
const string YLRCommand::COMMAND_YLR_RSN = "RSN";
const string YLRCommand::COMMAND_YLR_SBAUD = "SBAUD";
const string YLRCommand::COMMAND_YLR_SDC = "SDC";
const string YLRCommand::COMMAND_YLR_SMASK = "SMASK";
const string YLRCommand::COMMAND_YLR_SPRR = "SPRR";
const string YLRCommand::COMMAND_YLR_SPW = "SPW";
const string YLRCommand::COMMAND_YLR_SQLS = "SQLS";
const string YLRCommand::COMMAND_YLR_SQSEL = "SQSEL";
const string YLRCommand::COMMAND_YLR_STA = "STA";
const string YLRCommand::COMMAND_YLR_SIP = "SIP";
const string YLRCommand::COMMAND_YLR_UFP = "UFP";*/