45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
#include "local_server.hpp"
|
|
#include "jsonparse/communication_cmd.hpp"
|
|
#include "common/global.hpp"
|
|
#include <string.h>
|
|
#include "zlog.h"
|
|
|
|
extern zlog_category_t *zct;
|
|
|
|
char* LocalServer::HandleTcp_cmd(const char* recvData,uint8_t& rescmd,int& reslength)
|
|
{
|
|
zlog_info(zct,"HandleTcp_cmd");
|
|
PackgeHead head;
|
|
memcpy(&head,recvData,sizeof(PackgeHead));
|
|
uint8_t cmd = head.cmd;
|
|
rescmd = head.cmd;
|
|
JsonData jd;
|
|
switch (cmd)
|
|
{
|
|
case 1:{
|
|
Search search;
|
|
memcpy(search.mac,GlobalConfig::MacAddr_G.c_str(),sizeof(search.mac));
|
|
search.gw_type = kGWTDG102;
|
|
reslength = sizeof(Search);
|
|
return (char*)&search;
|
|
}break;
|
|
case kGateWayVersion: {
|
|
char* retData = jd.CmtCmd_80(reslength);
|
|
return retData;
|
|
}break;
|
|
case kSensorInfo:{
|
|
char* retData = jd.CmtCmd_81(reslength);
|
|
return retData;
|
|
}break;
|
|
case kSensorWave:
|
|
WaveReq wave_req;
|
|
memcpy(&wave_req,recvData + sizeof(PackgeHead),sizeof(WaveReq));
|
|
char* retData = jd.CmtCmd_82(wave_req.mac,wave_req.channel,reslength);
|
|
return retData;
|
|
break;
|
|
default:
|
|
return NULL;
|
|
break;
|
|
}
|
|
|
|
} |