ImagingTools Core SDK
CSdlUnionConverter.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// ACF includes
6#include <icomp/TReferenceMember.h>
7
8// ImtCore includes
9#include <imtsdl/imtsdl.h>
10#include <imtsdl/ISdlTypeListProvider.h>
11#include <imtsdl/ISdlEnumListProvider.h>
12#include <imtsdl/ISdlUnionListProvider.h>
13#include <imtsdl/CSdlUnion.h>
14
15
16namespace imtsdlgencpp
17{
18
19
22{
23
24public:
26 {
29 CT_MODEL_ARRAY = 3,
30 CT_GQL_SCALAR = 8,
31 CT_GQL_ARRAY = 12,
32 CT_JSON_SCALAR = 32,
33 CT_JSON_ARRAY = 48
34 };
35
36 // generate methods
37 static void WriteConversionFromUnion(
38 QTextStream& stream,
39 const imtsdl::CSdlUnion& sdlUnion,
40 const QString& sourceVariableName,
41 const QString& targetVariableName,
42 const QString& relatedNamespace,
43 const QString& targetName,
44 const QString& modelIndex,
45 const imtsdl::ISdlTypeListProvider& listProvider,
46 const imtsdl::ISdlEnumListProvider& enumlistProvider,
47 const imtsdl::ISdlUnionListProvider& unionlistProvider,
48 uint hIndents = 1,
49 const ConversionType& conversionType = CT_MODEL_SCALAR,
50 const QString& addCommand = QString(),
51 const QString& customModelTarget = QString(),
52 const QString& returnOnFail = QStringLiteral("false"));
53 static void WriteUnionConversionFromData(
54 QTextStream& stream,
55 const imtsdl::CSdlUnion& sdlUnion,
56 const QString& sourceVariableName,
57 const QString& targetVariableName,
58 const QString& relatedNamespace,
59 const QString& modelIndex,
60 const imtsdl::ISdlTypeListProvider& listProvider,
61 const imtsdl::ISdlEnumListProvider& enumlistProvider,
62 const imtsdl::ISdlUnionListProvider& unionlistProvider,
63 uint hIndents = 1,
64 const ConversionType& conversionType = CT_MODEL_SCALAR,
65 const QString& targetName = QString(),
66 const QString& arraySourceVariableName = QString());
67};
68
69
70} // namespace imtsdlgencpp