- Formatted all CodeGen module files (9 files) - Formatted LtsAppDescriptor module files - Formatted LtsAppManager/AppChooser files - Applied clang-format to all DTC and enum headers across modules - Removed coordTransTests from CommonUnitTestsPlaceholder (moved to tests/) Cosmetic changes only, no functional modifications. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
|
|
|
|
#pragma once
|
|
#include "GeneratorGrantleeBase.h"
|
|
#include "GrantleeWrappers.h"
|
|
#include "StructBuilder.h"
|
|
|
|
#include <QObject>
|
|
|
|
namespace CodeGen
|
|
{
|
|
|
|
class CppTopicGeneratorGrantlee final : public GeneratorGrantleeBase
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit CppTopicGeneratorGrantlee();
|
|
|
|
bool init(const XmlReader* reader, StructBuilder* structBuilder) override;
|
|
|
|
private:
|
|
bool initDataTopics();
|
|
bool getSpecialColumns(const CompleteTopicTypeInformation& tti, QVector<IdlData>& keyColumns,
|
|
QVector<IdlData>& trColumns) const;
|
|
|
|
bool initFunctionTopics();
|
|
bool handleStruct(const FunctionTopic& ft, FunctionTopicsWrapper* functionTopicsWrapper);
|
|
bool addRequesterRequestParams(const QString& request_name, const CompleteTopicTypeInformation& request,
|
|
FunctionTopicWrapper* ftw);
|
|
bool addRequesterReplyParams(const QString& request_name, const CompleteTopicTypeInformation& reply,
|
|
FunctionTopicWrapper* ftw);
|
|
|
|
bool handleIdlStruct(const CompleteTopicTypeInformation& csi, QSet<QString>& idlStructNames,
|
|
QVector<IdlStructWrapper*>& idlStructs);
|
|
bool initIdlStructs();
|
|
|
|
CompleteTopicTypeInformation topicTypeInformationByDerivedTopic(const CompleteTopicTypeInformation& tti) const;
|
|
|
|
const XmlReader* m_reader = nullptr;
|
|
};
|
|
} // namespace CodeGen
|