#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; }