改进-提供消息处理签名接口
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) {
|
||||
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),
|
||||
|
|
|
@ -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