SimsWorld/ComponentBasic/ComponentsInfoPull.h

30 lines
965 B
C++

#pragma once
#include <componentinfo_access.h>
#include "componentbasic.h"
/// <summary>
/// ×é¼þÐÅÏ¢ÌáÈ¡
/// </summary>
class COMPONENTBASIC_EXPORT ComponentsInfoPull :
public RespondRoute<
WsRespond<ComponentDatasQuery, ComponentDatasQueryResult>,
WsRespond<ProcedureSignatureQuery, ProcedureSignatureQueryResult>>,
public RequestRoute<>
{
private:
std::weak_ptr<WsEntity> _bind_entity;
public:
ComponentsInfoPull();
// ͨ¹ý ProcList ¼Ì³Ð
void bindEntity(std::weak_ptr<WsEntity> ins) override;
QString name() const override;
void execute(std::shared_ptr<const ComponentDatasQuery> in, QList<std::shared_ptr<ComponentDatasQueryResult>>& out) override;
void execute(std::shared_ptr<const ProcedureSignatureQuery> in, QList<std::shared_ptr<ProcedureSignatureQueryResult>>& out) override;
std::shared_ptr<Serializable> newDefault() const override;
void recoveryFrom(const QJsonObject& obj) override;
void saveTo(QJsonObject& obj) const override;
};