6#include <QtCore/QCommandLineOption>
9#include <ilog/TLoggerCompWrap.h>
10#include <iprm/IParamsSet.h>
13#include <imtsdl/ISdlEditableProcessArgumentsParser.h>
16class QCommandLineParser;
23class CSdlProcessArgumentsParserComp:
24 public ilog::CLoggerComponentBase,
25 virtual public ISdlEditableProcessArgumentsParser
30 typedef ilog::CLoggerComponentBase BaseClass;
32 I_BEGIN_COMPONENT(CSdlProcessArgumentsParserComp)
33 I_REGISTER_INTERFACE(imtsdl::ISdlProcessArgumentsParser)
38 virtual bool SetArguments(
const QStringList& arguments)
override;
39 virtual QString GetSchemaFilePath()
const override;
40 virtual QString GetOutputDirectoryPath()
const override;
41 virtual QString GetNamespace()
const override;
42 virtual QString GetNamespacePrefix()
const override;
43 virtual bool IsGenerateMode()
const override;
44 virtual bool IsDependenciesMode()
const override;
45 virtual bool IsModificatorEnabled(
const QString& modificatorName)
const override;
46 virtual bool IsQmlEnabled()
const override;
47 virtual bool IsCppEnabled()
const override;
48 virtual bool IsGqlEnabled()
const override;
49 virtual bool IsSchemaDependencyModeEnabled()
const override;
50 virtual QMap<QString, QString> GetBaseClassList()
const override;
51 virtual QStringList GetIncludePaths()
const override;
52 virtual GeneratorType GetGeneratorType()
const override;
53 virtual QStringList GetHeadersIncludePaths()
const override;
54 virtual QString GetDepFilePath()
const override;
55 virtual bool IsTemplateEnabled()
const override;
56 virtual QString GetTemplateIncludePath()
const override;
57 virtual QString GetTemplateOutputPath()
const override;
58 virtual QString GetTemplateQmlOutputPath()
const override;
59 virtual CppGenerationMode GetCppGenerationMode()
const override;
60 virtual TypenameWriteMode GetTypenameWriteMode()
const override;
63 virtual bool ReadFromSettings(
const QString& settingsFilePath)
override;
64 virtual void SetSchemaFilePath(
const QString& schemaFilePath)
override;
65 virtual void SetOutputDirectoryPath(
const QString& outputDirectoryPath)
override;
66 virtual void SetNamespace(
const QString& aNamespace)
override;
67 virtual void SetNamespacePrefix(
const QString& namespacePrefix)
override;
68 virtual void SetDependenciesModeEnabled(
bool enabled =
true)
override;
69 virtual void SetGenerateModeEnabled(
bool enabled =
true)
override;
70 virtual void SetEnabledModificators(
const QStringList& modificators)
override;
71 virtual void SetEnabledAllModificators(
bool enable =
true)
override;
72 virtual void SetCppEnabled(
bool enabled =
true)
override;
73 virtual void SetQmlEnabled(
bool enabled =
true)
override;
74 virtual void SetGqlEnabled(
bool enabled =
true)
override;
75 virtual void SetSchemaDependencyModeEnabled(
bool enabled =
true)
override;
76 virtual void SetBaseClassList(
const QMap<QString, QString>& baseClassList)
override;
77 virtual void SetIncludePaths(
const QStringList & includePaths)
override;
78 virtual void SetGeneratorType(GeneratorType type)
override;
79 virtual void SetHeadersIncludePaths(
const QStringList& includePaths)
override;
80 virtual void SetDepFilePath(
const QString& path)
override;
81 virtual void SetTemplateEnabled(
bool enabled)
override;
82 virtual void SetTemplateIncludePath(
const QString& templateIncludePath)
override;
83 virtual void SetTemplateOutputPath(
const QString& templateOutputPath)
override;
84 virtual void SetTypenameWriteMode(TypenameWriteMode mode)
override;
94 virtual QList<QCommandLineOption> PrepareCommandLineOptions();
101 virtual bool ProcessCommandLineOptions(
const QCommandLineParser& commandLineParser);
104 QString m_schemaFilePath;
105 QString m_outputDirectoryPath;
106 QString m_headerFileExctention;
107 QString m_sourceCodeFileExctention;
109 QString m_namespacePrefix;
110 QStringList m_usedModificators;
111 std::optional<bool> m_isGenerateMode;
112 std::optional<bool> m_isDependenciesMode;
113 std::optional<bool> m_useAllModificators;
114 std::optional<bool> m_notUseModificators;
115 std::optional<bool> m_cppEnabled;
116 std::optional<bool> m_qmlEnabled;
117 std::optional<bool> m_gqlEnabled;
118 std::optional<bool> m_schemaDependencyModeEnabled;
119 QMap<QString, QString> m_baseClassList;
120 QStringList m_includePaths;
121 std::optional<GeneratorType> m_generatorType;
122 QStringList m_headersIncludePaths;
123 QString m_depFilePath;
124 std::optional<bool> m_isTemplateEnabled;
125 QString m_outputDirTemplate;
126 QString m_outputQmlDirTemplate;
127 QString m_includePathTemplate;
128 std::optional<CppGenerationMode> m_cppGenerationMode;
129 std::optional<TypenameWriteMode> m_typenameWriteMode;
an editable version of a ISdlProcessArgumentsParser