You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include "front_msg_processer.hpp"
using namespace iflytop;
void FrontMsgProcesser::initialize() {} void FrontMsgProcesser::processMsg(json& cmd, json& receipt) { string cmdstr = cmd["command"]; if (m_msgProcesserMap.find(cmdstr) != m_msgProcesserMap.end()) { m_msgProcesserMap[cmdstr](cmd, receipt); } else { logger->error("unknown command: {}", cmdstr); receipt["result"] = "error"; receipt["reason"] = "unknown command"; } } void FrontMsgProcesser::registerMsgProcesser(const string& cmdName, MsgProcesserFn_t fn) { if (m_msgProcesserMap.find(cmdName) != m_msgProcesserMap.end()) { logger->warn("cmd {} already registered", cmdName); return; } m_msgProcesserMap[cmdName] = fn; }
|