5#include <QtCore/QMetaObject>
8#include <istd/IPolymorphic.h>
15class ISdlProcessArgumentsParser:
virtual public istd::IPolymorphic
19 static inline const QString s_sourceFileType = QStringLiteral(
"CPP");
20 static inline const QString s_headerFileType = QStringLiteral(
"H");
32 enum CppGenerationMode
36 CGM_IMPLEMENTATION_ONLY,
38 Q_ENUM(CppGenerationMode)
40 enum TypenameWriteMode
46 Q_ENUM(TypenameWriteMode)
48 virtual bool SetArguments(
int argc,
char** argv);
49 virtual bool SetArguments(
const QStringList& arguments) = 0;
50 virtual QString GetSchemaFilePath()
const = 0;
51 virtual QString GetOutputDirectoryPath()
const = 0;
52 virtual QString GetNamespace()
const = 0;
53 virtual QString GetNamespacePrefix()
const = 0;
54 virtual bool IsDependenciesMode()
const = 0;
55 virtual bool IsGenerateMode()
const = 0;
56 virtual bool IsModificatorEnabled(
const QString& modificatorName)
const = 0;
57 virtual bool IsCppEnabled()
const = 0;
58 virtual bool IsQmlEnabled()
const = 0;
59 virtual bool IsGqlEnabled()
const = 0;
60 virtual bool IsSchemaDependencyModeEnabled()
const = 0;
61 virtual QMap<QString, QString> GetBaseClassList()
const = 0;
63 virtual QStringList GetIncludePaths()
const = 0;
64 virtual GeneratorType GetGeneratorType()
const = 0;
65 virtual QStringList GetHeadersIncludePaths()
const = 0;
66 virtual QString GetDepFilePath()
const = 0;
67 virtual CppGenerationMode GetCppGenerationMode()
const = 0;
68 virtual TypenameWriteMode GetTypenameWriteMode()
const = 0;
71 virtual bool IsTemplateEnabled()
const = 0;
72 virtual QString GetTemplateIncludePath()
const = 0;
73 virtual QString GetTemplateOutputPath()
const = 0;
74 virtual QString GetTemplateQmlOutputPath()
const = 0;
78inline bool ISdlProcessArgumentsParser::SetArguments(
int argc,
char** argv)
80 QStringList arguments;
81 for (
int i = 0; i < argc; ++i){
82 arguments << QString(argv[i]);
85 return SetArguments(arguments);