ImagingTools Core SDK
CDesignTokenArgumentsParserComp.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
11// ImtCore includes
12#include <imtdesign/IDesignTokenArgumentsParser.h>
13
14
15namespace imtdesign
16{
17
18
19class CDesignTokenArgumentsParserComp: public ilog::CLoggerComponentBase, public IDesignTokenArgumentsParser
20{
21public:
22 typedef ilog::CLoggerComponentBase BaseClass;
23
24 I_BEGIN_COMPONENT(CDesignTokenArgumentsParserComp);
25 I_REGISTER_INTERFACE(IDesignTokenArgumentsParser);
26 I_END_COMPONENT;
27
31 bool CheckArgument(AvailableArguments argument) const;
32
36 QByteArray GetArgumentKey(AvailableArguments argument) const;
37
41 QByteArray GetArgumentValue(AvailableArguments argument) const;
42
46 QByteArrayList GetArgumentValueMulti(AvailableArguments argument) const;
47
48 // reimplemented (IDesignTokenArgumentsParser)
49 virtual void SetArguments(int argc, char**argv) override;
50 virtual bool IsHelpRequested() const override;
51 virtual bool IsSplitModeRequired() const override;
52 virtual bool IsErrorsIgnoreRequested() const override;
53 virtual bool IsCopyDesignTokenFileRequired() const override;
54 virtual bool IsWebGenerateResourceRequired() const override;
55 virtual bool IsCommonGenerateResourceRequired() const override;
56 virtual bool IsQmlGenerateRequired() const override;
57
58 virtual QByteArray GetDesignTokenFilePath() const override;
59 virtual QByteArrayList GetDesignTokenFileMultiPath() const override;
60 virtual QByteArray GetImagesInputDirectoryPath() const override;
61 virtual QByteArrayList GetImagesInputDirectoryMultiPath() const override;
62 virtual QByteArray GetStyleSheetsInputDirectoryPath() const override;
63 virtual QByteArray GetOutputDirectoryPath() const override;
64 virtual QByteArray GetOutputFilePath() const override;
65 virtual QByteArray GetProjectName() const override;
66
67
68private:
69 QMultiMap<AvailableArguments, QByteArray> m_commands;
70 QByteArrayList m_arguments;
71};
72
73
74} // namespace imtdesign
75
76