#include "local_server.hpp" #include "jsonparse/communication_cmd.hpp" #include "common/global.hpp" #include #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; } }