改进-提供消息处理签名接口
This commit is contained in:
parent
0af56085ad
commit
0a7304dc41
|
@ -278,7 +278,13 @@ void DeduceFramework::execute(std::shared_ptr<Immediate> map,
|
||||||
|
|
||||||
if (result->_success_mark) {
|
if (result->_success_mark) {
|
||||||
auto comps_list = target_ins->components();
|
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;
|
QStringList exists_component_types;
|
||||||
std::transform(comps_list.begin(), comps_list.end(),
|
std::transform(comps_list.begin(), comps_list.end(),
|
||||||
std::back_inserter(exists_component_types),
|
std::back_inserter(exists_component_types),
|
||||||
|
|
|
@ -66,13 +66,9 @@ struct ProcList : public _ProcRoute_<Procs...>, public WsComponent
|
||||||
ProcList() : _ProcRoute_<Procs...>() {}
|
ProcList() : _ProcRoute_<Procs...>() {}
|
||||||
|
|
||||||
// 通过 WsComponent 继承
|
// 通过 WsComponent 继承
|
||||||
QList<QString> inputTypes() const override
|
QList<WsRespondSignatureType> signatureTypes() const override
|
||||||
{
|
{
|
||||||
QList<QString> list;
|
return _ProcRoute_<>::_execute_map.keys();
|
||||||
for (auto key : _ProcRoute_<>::_execute_map.keys()) {
|
|
||||||
list.append(key.first);
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
}
|
||||||
QList<WsRespondEntry> getEntryWithSignature(const WsRespondSignatureType& t) const override
|
QList<WsRespondEntry> getEntryWithSignature(const WsRespondSignatureType& t) const override
|
||||||
{
|
{
|
||||||
|
|
|
@ -55,11 +55,11 @@ std::shared_ptr<WsEntity> RtWsEntity::defaultNew() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
QList<QString> RtWsEntity::inputTypes() const
|
QList<WsRespondSignatureType> RtWsEntity::signatureTypes() const
|
||||||
{
|
{
|
||||||
QList<QString> types;
|
QList<WsRespondSignatureType> types;
|
||||||
for (auto c : this->_comps_list)
|
for (auto c : this->_comps_list)
|
||||||
types.append(c->inputTypes());
|
types.append(c->signatureTypes());
|
||||||
return types.toSet().toList();
|
return types.toSet().toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,10 +71,10 @@ public:
|
||||||
virtual std::shared_ptr<WsEntity> defaultNew() const;
|
virtual std::shared_ptr<WsEntity> defaultNew() const;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 允许输入的消息类型
|
/// 允许输入的消息处理签名类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>消息类型集合</returns>
|
/// <returns>消息处理签名类型集合</returns>
|
||||||
virtual QList<QString> inputTypes() const;
|
virtual QList<WsRespondSignatureType> signatureTypes() const;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 通过指定的签名获取处理入口
|
/// 通过指定的签名获取处理入口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -164,10 +164,10 @@ public:
|
||||||
virtual QString name() const = 0;
|
virtual QString name() const = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 允许输入的消息类型
|
/// 允许处理的消息签名类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>消息类型集合</returns>
|
/// <returns>消息签名类型集合</returns>
|
||||||
virtual QList<QString> inputTypes() const = 0;
|
virtual QList<WsRespondSignatureType> signatureTypes() const = 0;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 通过指定的签名获取处理入口
|
/// 通过指定的签名获取处理入口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue