ImagingTools Core SDK
CFileFormatConversionComp.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/QString>
7#include <QtCore/QDir>
8
9// ACF includes
10#include <ilog/TLoggerCompWrap.h>
11#include <ifile/IFilePersistence.h>
12#include <ifileproc/IFileConversion.h>
13
14
15namespace imtfile
16{
17
18
22class CFileFormatConversionComp: virtual public ifileproc::IFileConversion, public ilog::CLoggerComponentBase
23{
24public:
25 typedef ilog::CLoggerComponentBase BaseClass;
26
27 I_BEGIN_COMPONENT(CFileFormatConversionComp);
28 I_REGISTER_INTERFACE(ifileproc::IFileConversion);
29 I_ASSIGN(m_persistenceCompPtr, "Persistence", "Format support", true, "Persistence");
30 I_ASSIGN(m_workingObjectCompPtr, "WorkingObject", "Working object", true, "WorkingObject");
31 I_END_COMPONENT
32
33 // reimplemented (ifileproc::IFileConversion)
34 virtual int ConvertFiles(
35 const QString& inputPath,
36 QString& outputPath,
37 const iprm::IParamsSet* paramsPtr = nullptr,
38 ibase::IProgressManager* progressManagerPtr = nullptr) const override;
39
40private:
41 I_REF(ifile::IFilePersistence, m_persistenceCompPtr);
42 I_REF(istd::IChangeable, m_workingObjectCompPtr);
43};
44
45
46} // namespace imtfile
47
48
File I/O Operations and Management Module.