Compare commits

...

2 Commits

Author SHA1 Message Date
codeboss c0b2fc7709 update 2025-06-10 20:39:10 +08:00
codeboss 6602641bcc 重命名消息类型 2025-06-10 14:21:55 +08:00
4 changed files with 73 additions and 36 deletions

View File

@ -15,9 +15,9 @@ QString ComponentsInfoPull::name() const
#include <QVariant>
#include <QJsonArray>
void ComponentsInfoPull::execute(std::shared_ptr<Immediate> map,
std::shared_ptr<const ComponentInfosQuery> in, QList<std::shared_ptr<ComponentInfoQueryResult>>& out)
std::shared_ptr<const ComponentDatasQuery> in, QList<std::shared_ptr<ComponentDatasQueryResult>>& out)
{
auto rst = std::make_shared<ComponentInfoQueryResult>();
auto rst = std::make_shared<ComponentDatasQueryResult>();
rst->reset(in->targetEntity(), in->sourceEntity());
auto bind_e = this->_bind_entity.lock();
@ -40,17 +40,17 @@ void ComponentsInfoPull::execute(std::shared_ptr<Immediate> map,
out << rst;
}
void ComponentsInfoPull::execute(std::shared_ptr<Immediate> map,
std::shared_ptr<const ProcedureSignatureQuery> in, QList<std::shared_ptr<ProcedureSignatureQueryResult>>& out)
{
}
std::shared_ptr<WsComponent> ComponentsInfoPull::defaultNew() const
{
return std::make_shared<ComponentsInfoPull>();
}
void ComponentsInfoPull::recoveryFrom(const QJsonObject& obj)
{
void ComponentsInfoPull::recoveryFrom(const QJsonObject& obj) {}
}
void ComponentsInfoPull::saveTo(QJsonObject& obj) const
{
}
void ComponentsInfoPull::saveTo(QJsonObject& obj) const {}

View File

@ -2,8 +2,12 @@
#include <messagebasic.h>
#include "componentbasic.h"
/// <summary>
/// 组件信息提取
/// </summary>
class COMPONENTBASIC_EXPORT ComponentsInfoPull : public ProcList<
WsRespond<ComponentInfosQuery, ComponentInfoQueryResult>
WsRespond<ComponentDatasQuery, ComponentDatasQueryResult>,
WsRespond<ProcedureSignatureQuery, ProcedureSignatureQueryResult>
> {
private:
std::weak_ptr<WsEntity> _bind_entity;
@ -15,7 +19,8 @@ public:
void bindEntity(std::weak_ptr<WsEntity> ins) override;
QString name() const override;
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const ComponentInfosQuery> in, QList<std::shared_ptr<ComponentInfoQueryResult>>& out) override;
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const ComponentDatasQuery> in, QList<std::shared_ptr<ComponentDatasQueryResult>>& out) override;
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const ProcedureSignatureQuery> in, QList<std::shared_ptr<ProcedureSignatureQueryResult>>& out) override;
std::shared_ptr<WsComponent> defaultNew() const override;
void recoveryFrom(const QJsonObject& obj) override;

View File

@ -234,33 +234,21 @@ TypesQuery::TypesQuery()
:AbstractMessage(NAME(TypesQuery)) {
}
ComponentInfosQuery::ComponentInfosQuery()
:AbstractMessage(NAME(ComponentInfosQuery)) {
ComponentDatasQuery::ComponentDatasQuery()
:AbstractMessage(NAME(ComponentDatasQuery)) {
}
void ComponentInfosQuery::recoveryFrom(const QJsonObject& obj)
{
AbstractMessage::recoveryFrom(obj);
UINT64_PEAK(_bind_entity_id);
ComponentDatasQueryResult::ComponentDatasQueryResult()
:AbstractMessage(NAME(ComponentDatasQueryResult)) {
}
void ComponentInfosQuery::saveTo(QJsonObject& obj) const
{
AbstractMessage::saveTo(obj);
UINT64_SAVE(_bind_entity_id);
}
ComponentInfoQueryResult::ComponentInfoQueryResult()
:AbstractMessage(NAME(ComponentInfoQueryResult)) {
}
void ComponentInfoQueryResult::recoveryFrom(const QJsonObject& obj)
void ComponentDatasQueryResult::recoveryFrom(const QJsonObject& obj)
{
AbstractMessage::recoveryFrom(obj);
_entity_json = obj["result_json"].toObject();
}
void ComponentInfoQueryResult::saveTo(QJsonObject& obj) const
void ComponentDatasQueryResult::saveTo(QJsonObject& obj) const
{
AbstractMessage::saveTo(obj);
obj["result_json"] = _entity_json;
@ -303,3 +291,38 @@ void ComponentOperate::saveTo(QJsonObject& obj) const
UINT64_SAVE(_entity_id_within_0x2ff_0xffffffffffffffff);
STRLIST_SAVE(_component_types);
}
ProcedureSignatureQuery::ProcedureSignatureQuery()
: AbstractMessage(NAME(ProcedureSignatureQuery)) {
}
ProcedureSignatureQueryResult::ProcedureSignatureQueryResult()
:AbstractMessage(NAME(ProcedureSignatureQueryResult)) {
}
void ProcedureSignatureQueryResult::recoveryFrom(const QJsonObject& obj)
{
AbstractMessage::recoveryFrom(obj);
QStringList input, output;
STRLIST_PEAK(input);
STRLIST_PEAK(output);
for(auto idx=0; idx<input.size(); ++idx)
this->_signature_list << std::make_pair(input[idx], output[idx]);
}
void ProcedureSignatureQueryResult::saveTo(QJsonObject& obj) const
{
AbstractMessage::saveTo(obj);
QStringList input, output;
for (auto sig : this->_signature_list)
{
input << sig.first;
output << sig.second;
}
STRLIST_SAVE(input);
STRLIST_SAVE(output);
}

View File

@ -209,20 +209,29 @@ struct MESSAGEBASIC_EXPORT EntityTotalList : public AbstractMessage {
/// <summary>
/// 获取指定实体的所有组件数据
/// </summary>
struct MESSAGEBASIC_EXPORT ComponentInfosQuery : public AbstractMessage {
uint64_t _bind_entity_id = 0;
struct MESSAGEBASIC_EXPORT ComponentDatasQuery : public AbstractMessage {
ComponentDatasQuery();
};
ComponentInfosQuery();
struct MESSAGEBASIC_EXPORT ComponentDatasQueryResult : public AbstractMessage {
QJsonObject _entity_json;
ComponentDatasQueryResult();
// 通过 WsMessage 继承
void recoveryFrom(const QJsonObject& obj) override;
void saveTo(QJsonObject& obj) const override;
};
struct MESSAGEBASIC_EXPORT ComponentInfoQueryResult : public AbstractMessage {
QJsonObject _entity_json;
struct MESSAGEBASIC_EXPORT ProcedureSignatureQuery : public AbstractMessage {
ProcedureSignatureQuery();
};
ComponentInfoQueryResult();
struct MESSAGEBASIC_EXPORT ProcedureSignatureQueryResult : public AbstractMessage
{
QList<WsRespondSignatureType> _signature_list;
ProcedureSignatureQueryResult();
// 通过 WsMessage 继承
void recoveryFrom(const QJsonObject& obj) override;