9#include <QtCore/qstring.h>
10#include <istd/TDelPtr.h>
11#include <iproc/TSyncProcessorCompBase.h>
12#include <ifile/IFilePersistence.h>
15#include <imtsdl/ISdlProcessArgumentsParser.h>
16#include <imtsdl/ISdlTypeListProvider.h>
17#include <imtsdl/ISdlDocumentTypeListProvider.h>
18#include <imtsdl/CSdlTools.h>
19#include <imtsdl/ISdlRequestListProvider.h>
27class CQmlCodeRequestGeneratorComp:
28 public iproc::CSyncProcessorCompBase,
33 typedef iproc::CSyncProcessorCompBase BaseClass;
35 I_BEGIN_COMPONENT(CQmlCodeRequestGeneratorComp)
36 I_ASSIGN(m_argumentParserCompPtr,
"ArgumentParser",
"Command line process argument parser",
true,
"ArgumentParser")
37 I_ASSIGN(m_sdlTypeListCompPtr, "SdlTypeListProvider", "SDL types used to create a code", true, "SdlTypeListProvider")
38 I_ASSIGN(m_sdlDocumentListCompPtr, "SdlDocumentListProvider", "SDL documents used to create a GraphQL wrap code", true, "SdlDocumentListProvider")
39 I_ASSIGN(m_qmldirFilePersistanceCompPtr, "QmldirFilePersistance", "Qmldir file persistance, used to update qmldir file with new modules", true, "QmldirFilePersistance")
40 I_ASSIGN(m_customSchemaParamsCompPtr, "CustomSchemaParams", "Custom schema parameters, that contains additional options", false, "CustomSchemaParams")
41 I_ASSIGN(m_sdlRequestListCompPtr, "SdlRequestListProvider", "SDL requests used to create a GraphQL wrap code", true, "SdlRequestListProvider")
45 virtual iproc::IProcessor::TaskState DoProcessing(
46 const iprm::IParamsSet* paramsPtr,
47 const istd::IPolymorphic* inputPtr,
48 istd::IChangeable* outputPtr,
49 ibase::IProgressManager* progressManagerPtr = NULL) override;
55 bool IsSingleton =
false;
60 static bool UpdateQmldirParams(iprm::IParamsSet& qmldirDataParams,
const QList<QmldirFileInfo>& infoList);
61 QString GetQmlImportDeclarationByField(
const imtsdl::CSdlField& sdlField)
const;
64 I_REF(imtsdl::ISdlProcessArgumentsParser, m_argumentParserCompPtr);
65 I_REF(imtsdl::ISdlTypeListProvider, m_sdlTypeListCompPtr);
66 I_REF(imtsdl::ISdlDocumentTypeListProvider, m_sdlDocumentListCompPtr);
67 I_REF(ifile::IFilePersistence, m_qmldirFilePersistanceCompPtr);
68 I_REF(iprm::IParamsSet, m_customSchemaParamsCompPtr);
69 I_REF(imtsdl::ISdlRequestListProvider, m_sdlRequestListCompPtr);