ImagingTools Core SDK
TIIdBasedHierarchical.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 <istd/IPolymorphic.h>
7
8
9namespace imtbase
10{
11
12
13class ICollectionInfo;
14
15
19template <class Interface>
20class TIIdBasedHierarchical: virtual public Interface
21{
22public:
23 typedef Interface InterfaceType;
25
30 {
40 };
41
46 virtual int GetHierarchicalFlags() const = 0;
47
51 virtual const ICollectionInfo& GetChildsList() const = 0;
52
58 virtual HierarchicalInterfaceType* GetChild(const QByteArray& id) const = 0;
59
66};
67
68
69} // namespace imtbase
70
71
virtual HierarchicalInterfaceType * GetChild(const QByteArray &id) const =0
virtual int GetHierarchicalFlags() const =0
virtual const ICollectionInfo & GetChildsList() const =0
virtual HierarchicalInterfaceType * GetParent() const =0