ImagingTools Core SDK
CDesignTokenSplitProcessorComp.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/QtCore>
7
8// ACF includes
9#include <ilog/TLoggerCompWrap.h>
10#include <iprm/IParamsSet.h>
11
12// ImtCore includes
13#include <imtdesign/IDesignTokenProcessor.h>
14#include <imtdesign/IDesignTokenArgumentsParser.h>
15#include <imtdesign/IDesignTokenFileParser.h>
16
17
18namespace imtdesign
19{
20
21class CDesignTokenSplitProcessorComp: public ilog::CLoggerComponentBase, public IDesignTokenProcessor
22{
23public:
24 typedef ilog::CLoggerComponentBase BaseClass;
25
26 I_BEGIN_COMPONENT(CDesignTokenSplitProcessorComp);
27 I_REGISTER_INTERFACE(IDesignTokenProcessor);
28 I_ASSIGN(m_argumentParserCompPtr, "ArgumentsParser", "Arguments Parser", true, "IDesignTokenArgumentsParser")
29 I_ASSIGN(m_designTokenFileParserCompPtr, "DesignTokenFileParser", "Design token file parser", true, "IDesignTokenFileParser")
30 I_END_COMPONENT;
31
32 // reimplemented (IDesignTokenProcessor)
33 virtual int Exec() override;
34 virtual QByteArray GetHelpString() const override;
35
36
37private:
38 I_REF(IDesignTokenArgumentsParser, m_argumentParserCompPtr);
39 I_REF(IDesignTokenFileParser, m_designTokenFileParserCompPtr);
40
41};
42
43
44} // namespace imtdesign
45