#pragma once #include #include #include "componentbasic.h" #include #include class COMPONENTBASIC_EXPORT DeduceFramework : public QObject, public ProcList< WsRespond, WsRespond> { Q_OBJECT private: uint64_t _bind_entity = 0; QHash> _entity_map; signals: /// /// 推演过程中的回复信息 /// /// 消息列表 void reply(const QList> &msg_set); /// /// 推演完成 /// /// 回复消息 void complete(std::shared_ptr ins); public slots: /// /// 接收消息列表 /// /// 传入的消息队列 void accept(const QList> &set); /// /// 推演入口 /// /// 消息 void deduceBegin(std::shared_ptr ins); public: static QList> _accept_stack; DeduceFramework(); std::shared_ptr defaultNew() const override; void bindEntity(uint64_t entity_id) override; QString name() const override; void recoveryFrom(const QJsonObject& obj) override; void saveTo(QJsonObject& obj) const override; void execute(std::shared_ptr map, std::shared_ptr in, QList>& out) override; void execute(std::shared_ptr map, std::shared_ptr in, QList>& out) override; };