#include #include #include "sdk/chip/chip.hpp" #include "sdk/components/zcan_protocol_parser/zcan_protocol_parser.hpp" #include "sdk/components/zcancmder/zcanreceiver.hpp" #include "sdk/os/zos.hpp" #include "sdk\components\zcancmder\protocol_event_bus_sender.hpp" namespace iflytop { class GService { ZCanReceiver zcanreceiver; ZCanProtocolParser zcan_protocol_parser; ProtocolEventBusSender evenSender; public: void initialize(); static GService* inst(); ZCanReceiver* getZCanReceiver() { return &zcanreceiver; } ZCanProtocolParser* getZCanProtocolParser() { return &zcan_protocol_parser; } void registerModule(ZIModule* module) { zcan_protocol_parser.registerModule(module); } // dynamic_cast(GService::inst()->getZCanProtocolParser()->getModule(getmoduleId(1))) template T* getModule(uint32_t moduleId) { return dynamic_cast(zcan_protocol_parser.getModule(moduleId)); } }; } // namespace iflytop