ImagingTools Core SDK
CConfigReader.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// Qt includes
6#include <QtCore/QString>
7#include <QtCore/QMap>
8
9// ImtCore includes
10#include <imtsdl/ISdlProcessArgumentsParser.h>
11
12
13namespace imtsdl
14{
15
16
20class CConfigReader: virtual public istd::IPolymorphic
21{
22
23public:
24 [[nodiscard]] bool ReadFromFile(const QString& filePath);
25
26 std::optional<QString> schemaFilePath;
27 std::optional<QString> outputDirectoryPath;
28 std::optional<QString> namespaceValue;
29 std::optional<QString> namespacePrefix;
30 std::optional<bool> dependenciesMode;
31 std::optional<bool> generateMode;
32 std::optional<QStringList> enabledModificators;
33 std::optional<bool> useAllModificators;
34 std::optional<bool> cppEnabled;
35 std::optional<bool> qmlEnabled;
36 std::optional<bool> gqlEnabled;
37 std::optional<bool> schemaDependencyModeEnabled;
38 std::optional<QMap<QString, QString>> baseClassList;
39 std::optional<QStringList> includePaths;
40 std::optional<imtsdl::ISdlProcessArgumentsParser::GeneratorType> generatorType;
41 std::optional<QStringList> headersIncludePaths;
42 std::optional<QString> depFilePath;
43 std::optional<bool> templateEnabled;
44 std::optional<QString> outputDirTemplate;
45 std::optional<QString> qmlOutputDirTemplate;
46 std::optional<QString> includePathTemplate;
47 std::optional<ISdlProcessArgumentsParser::TypenameWriteMode> typenameWriteMode;
48};
49
50
51} // namespace imtsdl
52