// // Created by zwsd // #pragma once #include "config_index.hpp" #include "errorcode.hpp" #include "packet_interface.hpp" namespace iflytop { using namespace zcr; class IZcanCmderListener { public: virtual void onRceivePacket(zcr_cmd_header_t *rxcmd, uint8_t *data, int32_t len) = 0; }; class IZCanCmder { public: public: virtual void registerListener(IZcanCmderListener *listener) = 0; virtual int32_t sendBufAck(zcr_cmd_header_t *rx_cmd_header, uint8_t *data, int32_t len) = 0; virtual int32_t sendAck(zcr_cmd_header_t *rx_cmd_header, int32_t *ackvar, int32_t nack) = 0; virtual int32_t sendErrorAck(zcr_cmd_header_t *rx_cmd_header, int32_t errorcode) = 0; virtual int32_t triggerEvent(zcr_cmd_header_t *rx_cmd_header, uint8_t *data, int32_t len) = 0; }; } // namespace iflytop