ImagingTools Core SDK
CBaseClassExtenderComp.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 <istd/TDelPtr.h>
10#include <iproc/TSyncProcessorCompBase.h>
11
12// ImtCore includes
13#include <imtsdl/ISdlProcessArgumentsParser.h>
14#include <imtsdl/CSdlTools.h>
15
16
17namespace iprm
18{
19class IOptionsList;
20}
21
22
23namespace imtsdlgencpp
24{
25
26
31 public iproc::CSyncProcessorCompBase,
32 protected imtsdl::CSdlTools
33{
34
35public:
36 typedef iproc::CSyncProcessorCompBase BaseClass;
37
38 I_BEGIN_COMPONENT(CBaseClassExtenderComp)
39 I_END_COMPONENT;
40
41 // reimplemented (iproc::IProcessor)
54 virtual iproc::IProcessor::TaskState DoProcessing(
55 const iprm::IParamsSet* paramsPtr,
56 const istd::IPolymorphic* inputPtr,
57 istd::IChangeable* outputPtr,
58 ibase::IProgressManager* progressManagerPtr = NULL) override;
59
60protected:
61 virtual bool ProcessHeaderClassFile(
62 const iprm::IParamsSet& paramsPtr,
63 const iprm::IOptionsList& baseClassList);
64 virtual bool BeginClassFiles();
65 virtual bool EndClassFiles();
66 virtual bool CloseFiles();
67 virtual void AbortCurrentProcessing();
68
69 virtual void AddInheritance(QTextStream& ifStream, QTextStream& ofStream, const QStringList& classNameList);
70 virtual void WriteBufferToStream(QTextStream& stream, QStringList& buffer);
71
72protected:
73 istd::TDelPtr<QFile> m_headerFilePtr;
74 istd::TDelPtr<QFile> m_originalHeaderFilePtr;
75};
76
77
78} // namespace imtsdlgencpp
79
virtual iproc::IProcessor::TaskState DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL) override