ImagingTools Core SDK
IObjectMetaInfoUniquenessValidator.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
9class QByteArray;
10class QVariant;
11
12
13namespace imtbase
14{
15
16
17class IObjectCollection;
18
19
20}
21
22
23namespace imtbase
24{
25
26
27class IObjectMetaInfoUniquenessValidator: virtual public istd::IPolymorphic
28{
29public:
30 enum ResultFlags
31 {
35 RF_IS_UNIQUE = 0x00,
36
40 RF_NOT_UNIQUE = 0x01,
41
45 RF_INVALID_COLLECTION_REFERENCE = 0x02,
46
50 RF_MISSING_METAINFO = 0x04,
51
55 RF_MISSING_METAINFO_TYPE = 0x08,
56
60 RF_INCOMPATIBLE_VALUE_TYPE = 0x10
61 };
62
67 virtual int IsUniqueValue(const imtbase::IObjectCollection* collectionPtr, const QByteArray& objectId, const QVariant& value) const = 0;
68};
69
70
71} // namespace imtbase
72
73