ImagingTools Core SDK
CObjectCollection.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/TComposedFactory.h>
7
8// ImtCore includes
9#include <imtbase/CObjectCollectionBase.h>
10
11
12namespace imtbase
13{
14
15
22 public istd::TComposedFactory<istd::IChangeable>
23{
24public:
26 typedef istd::TComposedFactory<istd::IChangeable> BaseClass2;
27
29
30 void SetOperationFlags(int flags, const QByteArray& objectId = QByteArray());
31
32 // reimplemented (imtbase::IObjectCollection)
33 virtual int GetOperationFlags(const QByteArray& objectId = QByteArray()) const override;
34
35 // reimplemented (istd::IChangeable)
36 virtual int GetSupportedOperations() const override;
37 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
38
39protected:
40 // reimplemented (CObjectCollectionBase)
41 virtual istd::IChangeableUniquePtr CreateObjectInstance(const QByteArray& typeId) const override;
42 virtual IObjectCollection* CreateSubCollectionInstance() const override;
43
44private:
45 int m_operationFlags;
46};
47
48
49} // namespace imtbase
50
51