Compare commits
2 Commits
2c01ee6056
...
0a7304dc41
Author | SHA1 | Date |
---|---|---|
|
0a7304dc41 | |
|
0af56085ad |
|
@ -278,7 +278,13 @@ void DeduceFramework::execute(std::shared_ptr<Immediate> map,
|
|||
|
||||
if (result->_success_mark) {
|
||||
auto comps_list = target_ins->components();
|
||||
for (auto comp : comps_list) {
|
||||
if (!in->_component_types.contains(comp->name())) {
|
||||
target_ins->remove(comp->name());
|
||||
}
|
||||
}
|
||||
|
||||
comps_list = target_ins->components();
|
||||
QStringList exists_component_types;
|
||||
std::transform(comps_list.begin(), comps_list.end(),
|
||||
std::back_inserter(exists_component_types),
|
||||
|
|
|
@ -68,6 +68,7 @@ public:
|
|||
|
||||
void init_backend();
|
||||
|
||||
// ProcList interface =======================================================
|
||||
std::shared_ptr<WsComponent> defaultNew() const override;
|
||||
void bindEntity(std::weak_ptr<WsEntity> ins) override;
|
||||
QString name() const override;
|
||||
|
@ -78,6 +79,5 @@ public:
|
|||
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const TempletOperate> in, QList<std::shared_ptr<RespondDefault>>& out) override;
|
||||
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const EntityOperate> in, QList<std::shared_ptr<RespondDefault>>& out) override;
|
||||
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const ComponentOperate> in, QList<std::shared_ptr<RespondDefault>>& out) override;
|
||||
|
||||
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const EntityTotalGet> in, QList<std::shared_ptr<EntityTotalList>>& out) override;
|
||||
};
|
|
@ -66,13 +66,9 @@ struct ProcList : public _ProcRoute_<Procs...>, public WsComponent
|
|||
ProcList() : _ProcRoute_<Procs...>() {}
|
||||
|
||||
// 通过 WsComponent 继承
|
||||
QList<QString> inputTypes() const override
|
||||
QList<WsRespondSignatureType> signatureTypes() const override
|
||||
{
|
||||
QList<QString> list;
|
||||
for (auto key : _ProcRoute_<>::_execute_map.keys()) {
|
||||
list.append(key.first);
|
||||
}
|
||||
return list;
|
||||
return _ProcRoute_<>::_execute_map.keys();
|
||||
}
|
||||
QList<WsRespondEntry> getEntryWithSignature(const WsRespondSignatureType& t) const override
|
||||
{
|
||||
|
|
|
@ -55,11 +55,11 @@ std::shared_ptr<WsEntity> RtWsEntity::defaultNew() const {
|
|||
}
|
||||
|
||||
#include <QSet>
|
||||
QList<QString> RtWsEntity::inputTypes() const
|
||||
QList<WsRespondSignatureType> RtWsEntity::signatureTypes() const
|
||||
{
|
||||
QList<QString> types;
|
||||
QList<WsRespondSignatureType> types;
|
||||
for (auto c : this->_comps_list)
|
||||
types.append(c->inputTypes());
|
||||
types.append(c->signatureTypes());
|
||||
return types.toSet().toList();
|
||||
}
|
||||
|
||||
|
|
|
@ -71,10 +71,10 @@ public:
|
|||
virtual std::shared_ptr<WsEntity> defaultNew() const;
|
||||
|
||||
/// <summary>
|
||||
/// 允许输入的消息类型
|
||||
/// 允许输入的消息处理签名类型
|
||||
/// </summary>
|
||||
/// <returns>消息类型集合</returns>
|
||||
virtual QList<QString> inputTypes() const;
|
||||
/// <returns>消息处理签名类型集合</returns>
|
||||
virtual QList<WsRespondSignatureType> signatureTypes() const;
|
||||
/// <summary>
|
||||
/// 通过指定的签名获取处理入口
|
||||
/// </summary>
|
||||
|
|
|
@ -164,10 +164,10 @@ public:
|
|||
virtual QString name() const = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 允许输入的消息类型
|
||||
/// 允许处理的消息签名类型
|
||||
/// </summary>
|
||||
/// <returns>消息类型集合</returns>
|
||||
virtual QList<QString> inputTypes() const = 0;
|
||||
/// <returns>消息签名类型集合</returns>
|
||||
virtual QList<WsRespondSignatureType> signatureTypes() const = 0;
|
||||
/// <summary>
|
||||
/// 通过指定的签名获取处理入口
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue