ImagingTools Core SDK
CQmlProcessorsManagerComp.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/QFile>
7
8// ACF includes
9#include <ilog/TLoggerCompWrap.h>
10#include <iproc/TSyncProcessorWrap.h>
11
12// ImtCore includes
13#include <imtsdl/ISdlProcessArgumentsParser.h>
14
15
16namespace imtsdlgenqml
17{
18
20class CQmlProcessorsManagerComp: public ilog::CLoggerComponentBase,
21 public iproc::CSyncProcessorBase
22{
23
24
25public:
26 typedef ilog::CLoggerComponentBase BaseClass;
27
28 I_BEGIN_COMPONENT(CQmlProcessorsManagerComp)
29 I_REGISTER_INTERFACE(iproc::IProcessor)
30 I_ASSIGN(m_sdlArgumentParserCompPtr, "ArgumentParser", "Argument parser", true, "ArgumentParser")
31 I_ASSIGN(m_sdlSchemaParamsCompPtr, "SdlSchemaParameters", "The parameters of the current schema", true, "SdlSchemaParameters")
32 I_ASSIGN_MULTI_0(m_sdlProcessorsCompListPtr, "SdlProcessorList", "The list of SDL processors", true)
33 I_END_COMPONENT;
34
35protected:
36 // reimplemented (iproc::IProcessor)
37 virtual TaskState DoProcessing(
38 const iprm::IParamsSet* paramsPtr,
39 const istd::IPolymorphic* inputPtr,
40 istd::IChangeable* outputPtr,
41 ibase::IProgressManager* progressManagerPtr = nullptr) override;
42
43private:
44 bool CreateCode();
45
46private:
47 I_REF(imtsdl::ISdlProcessArgumentsParser, m_sdlArgumentParserCompPtr);
48 I_REF(iprm::IParamsSet, m_sdlSchemaParamsCompPtr);
49 I_MULTIREF(iproc::IProcessor, m_sdlProcessorsCompListPtr);
50};
51
52
53} // namespace imtsdlgenqml
54
55
56
57
58
59
60