9#include <istd/TDelPtr.h>
10#include <iproc/TSyncProcessorCompBase.h>
11#include <ifile/IFilePersistence.h>
12#include <iprm/IParamsManager.h>
15#include <imtsdl/ISdlProcessArgumentsParser.h>
16#include <imtsdl/ISdlDocumentTypeListProvider.h>
17#include <imtsdl/CSdlTools.h>
32 public iproc::CSyncProcessorCompBase,
37 typedef iproc::CSyncProcessorCompBase BaseClass;
40 I_ASSIGN(m_qmlFileSuffixAttrPtr,
"QmlFileSuffix",
"QML file's suffix for file name.",
true,
"Enum")
41 I_ASSIGN(m_argumentParserCompPtr,
"ArgumentParser",
"Command line process argument parser",
true,
"ArgumentParser")
42 I_ASSIGN(m_sdlEnumListCompPtr,
"SdlTypeListProvider",
"SDL types used to create a code",
true,
"SdlTypeListProvider")
43 I_ASSIGN(m_qmldirFilePersistanceCompPtr,
"QmldirFilePersistance",
"Qmldir file persistance, used to update qmldir file with new modules",
true,
"QmldirFilePersistance")
44 I_ASSIGN(m_qrcFilePersistanceCompPtr,
"QrResourceFilePersistance",
"QRC file persistance, used to update file with new modules",
true,
"QrResourceFilePersistance")
45 I_ASSIGN(m_customSchemaParamsCompPtr,
"CustomSchemaParams",
"Custom schema parameters, that contains additional options",
false,
"CustomSchemaParams")
46 I_ASSIGN(m_paramsFactComp,
"QrcParamsFactory",
"Qt resource model, used to update resource file with new modules",
true,
"QrcParamsFactory")
50 virtual iproc::IProcessor::TaskState DoProcessing(
51 const iprm::IParamsSet* paramsPtr,
52 const istd::IPolymorphic* inputPtr,
53 istd::IChangeable* outputPtr,
54 ibase::IProgressManager* progressManagerPtr = NULL)
override;
60 bool IsSingleton =
false;
65 static bool UpdateQmldirParams(iprm::IParamsSet& qrcParamsPtr,
const QList<QmldirFileInfo>& infoList);
70 bool ProcessQmlFile(
const imtsdl::CSdlEnum& sdlEnum);
71 void AbortCurrentProcessing();
72 [[nodiscard]] QString GetQmlWrappedName(
const QString& originalName)
const;
73 [[nodiscard]] QString GetQmlFileName(
const QString& originalName)
const;
74 [[nodiscard]] QString GetQmlFilePath(
const QString& originalName)
const;
76 bool AddQrcEntry(
const imtsdl::CSdlEnum& sdlEnum, iprm::CParamsSet& qmldirDataParams)
const;
77 bool AddQmldirEntry(
const imtsdl::CSdlEnum& sdlEnum, iprm::IParamsManager& qrcParamsPtr)
const;
80 I_ATTR(QString, m_qmlFileSuffixAttrPtr);
81 I_REF(imtsdl::ISdlProcessArgumentsParser, m_argumentParserCompPtr);
82 I_REF(imtsdl::ISdlEnumListProvider, m_sdlEnumListCompPtr);
83 I_REF(ifile::IFilePersistence, m_qmldirFilePersistanceCompPtr);
84 I_REF(ifile::IFilePersistence, m_qrcFilePersistanceCompPtr);
85 I_REF(iprm::IParamsSet, m_customSchemaParamsCompPtr);
86 I_FACT(iprm::IParamsManager, m_paramsFactComp);
88 istd::TDelPtr<QFile> m_qmlFilePtr;