#pragma once #include #include "api/api.hpp" #include "cmdid.hpp" namespace iflytop { class ZIProtocolParser : public IZcanCmderListener { private: IZCanCmder* m_cancmder = nullptr; map m_modulers; uint8_t ackbuf[ZCANCMD_READ_BUF_MAX_SIZE + 100]; public: void initialize(IZCanCmder* cancmder); virtual void onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, int32_t len); void registerModule(ZIModule* module); private: void _registerModule(uint16_t id, ZIModule* module); }; } // namespace iflytop