ImagingTools Core SDK
CSdlClassGqlModificatorComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ImtCore includes
6#include <imtsdlgencpp/CSdlClassModificatorBaseComp.h>
7#include <imtsdlgencpp/CObjectModificatorCompBase.h>
8
9
10namespace imtsdlgencpp
11{
12
13
19{
20
21public:
23
24 I_BEGIN_COMPONENT(CSdlClassGqlModificatorComp)
25 I_END_COMPONENT
26
27public:
28 // reimplemented (IIncludeDirectivesProvider)
29 [[nodiscard]] virtual QList<imtsdl::IncludeDirective> GetIncludeDirectives() const override;
30
31 // reimplemented (ICxxModifier)
32 [[nodiscard]] virtual QString GetReadMethodName() const override;
33 [[nodiscard]] virtual QString GetWriteMethodName() const override;
34 [[nodiscard]] virtual ArgumentList GetArguments() const override;
35
36protected:
37 // reimplemented (CObjectModificatorCompBase)
38 virtual QString GetContainerObjectClassName() const override;
39 virtual QString GetContainerObjectVariableName() const override;
40 virtual QString GetScalarArrayContainerObjectClassName() const override;
41 virtual QString GetCustomArrayContainerObjectClassName() const override;
42 virtual QString GetArrayContainerObjectVariableName() const override;
43 virtual bool AddFieldValueWriteToObject(QTextStream& stream, const imtsdl::CSdlField& field, const QString& variableName, uint horizontalIndents) const override;
44 virtual bool AddObjectValueWriteToObject(QTextStream& stream, const imtsdl::CSdlField& field, const QString& variableName, uint horizontalIndents) const override;
45 virtual QString AddCreationOfTemporaryArray(QTextStream& stream, const imtsdl::CSdlField& field) const override;
46 virtual bool AddFieldValueAppendToObjectArray(QTextStream& stream, const imtsdl::CSdlField& field, const QString& arrayContainerVariableName, const QString& variableName, uint horizontalIndents) const override;
47 virtual bool AddArrayWriteToObject(QTextStream& stream, const imtsdl::CSdlField& field, const QString& variableName, const QString& targetObjectVariableName, uint horizontalIndents) const override;
48 virtual bool AddContainerValueCheckConditionBegin(QTextStream& stream, const imtsdl::CSdlField& field, bool expected, quint16 horizontalIndents) const override;
49 virtual bool AddContainerValueReadFromObject(QTextStream& stream, const imtsdl::CSdlField& field, const QString& variableName, quint16 horizontalIndents) const override;
50 virtual bool AddContainerListAccessCode(QTextStream& stream, const imtsdl::CSdlField& field, const QString& variableName, quint16 horizontalIndents, ListAccessResult& result) const override;
51 virtual CSdlUnionConverter::ConversionType GetUnionScalarConversionType() const override;
52 virtual CSdlUnionConverter::ConversionType GetUnionArrayConversionType() const override;
53 virtual void AddUnionFieldValueReadFromObject(QTextStream& stream, const imtsdl::CSdlField& field, bool optional, quint16 hIndents) const override;
54 virtual void AddUnionFieldValueWriteToObject(QTextStream& stream, const imtsdl::CSdlField& field, bool optional, quint16 hIndents) const override;
55 QString GetUnionListElementType(bool forScalar) const override;
56 virtual void WriteTypenameToObjectCode(QTextStream& stream, const imtsdl::CSdlType& sdlType) const override;
57
58private:
60 [[nodiscard]] QString GetConvertEndForFieldString(const imtsdl::CSdlField& field, bool forType) const;
61
62};
63
64
65} // namespace imtsdlgencpp
66