ImagingTools Core SDK
CSimpleFileJoinerComp.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// ACF includes
6#include <ilog/TLoggerCompWrap.h>
7#include <iprm/ITextParam.h>
8#include <iproc/TSyncProcessorCompBase.h>
9
10
11namespace imtsdl
12{
13
14
19 virtual public iproc::CSyncProcessorCompBase
20{
21public:
23 static const QByteArray s_sourceDirPathParamId;
24 static const QByteArray s_targetFilePathParamId;
25 static const QByteArray s_appendModeParamId;
26
27 typedef iproc::CSyncProcessorCompBase BaseClass;
28
29 I_BEGIN_COMPONENT(CSimpleFileJoinerComp)
30 I_ASSIGN(m_emptyStringsAtEndAttrPtr, "EmptyStringsAtEnd", "Defines how many lines should be added at end of a file's part", true, 3);
31 I_ASSIGN(m_filePartSeparatorTextCompPtr, "FilePartSeparatorText", "Defines a text at begin of each file.\n$(FilePath) variable is supported - will be replacet to file name.", false, "FilePartSeparatorText");
32 I_END_COMPONENT
33
34 // reimplemented (iproc::IProcessor)
35
49 virtual TaskState DoProcessing(
50 const iprm::IParamsSet* paramsPtr,
51 const istd::IPolymorphic* inputPtr,
52 istd::IChangeable* outputPtr,
53 ibase::IProgressManager* progressManagerPtr = NULL) override;
54
55private:
56 static const QString s_filePathVariable;
57
58private:
59 I_ATTR(int, m_emptyStringsAtEndAttrPtr);
60 I_REF(iprm::ITextParam, m_filePartSeparatorTextCompPtr);
61};
62
63
64} // namespace imtsdl
65
66
virtual I_END_COMPONENT TaskState DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL) override
Joins text files into a single.