ImagingTools Core SDK
CSdlEntryBase.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// std includes
6#include <memory>
7
8// Qt includes
9#include <QtCore/QString>
10
11//Acf includes
12#include <iser/ISerializable.h>
13
14
15namespace iprm {
16
17class IParamsSet;
18
19} // namespace iprm
20
21
22
23namespace imtsdl
24{
25
26
27class CSdlEntryBase: virtual public iser::ISerializable
28{
29
30public:
31 CSdlEntryBase();
32
33 [[nodiscard]] virtual QString GetName() const;
34 virtual void SetName(const QString& name);
35
36 [[nodiscard]] virtual QString GetTargetHeaderFilePath() const;
37 virtual void SetTargetHeaderFilePath(const QString& headerFile);
38
39 [[nodiscard]] virtual QString GetSchemaFilePath() const;
40 virtual void SetSchemaFilePath(const QString& schemaFile);
41
42 [[nodiscard]] virtual bool IsExternal() const;
43 virtual void SetExternal(bool isExternal);
44
45 [[nodiscard]] virtual QString GetQmlImportDeclaration() const;
46 virtual void SetQmlImportDeclaration(const QString& qmlImportDeclaration);
47
48 [[nodiscard]] virtual const iprm::IParamsSet& GetSchemaParams() const;
49 virtual void SetSchemaParamsPtr(const std::shared_ptr<iprm::IParamsSet>& schemaParamsPtr);
50
51protected:
52 QString m_name;
53 QString m_targetHeaderFilePath;
54 QString m_schemaFilePath;
55 bool m_isExternal;
56 QString m_qmlImportDeclaration;
57 std::shared_ptr<iprm::IParamsSet> m_schemaParamsPtr;
58};
59
60
61}