ImagingTools Core SDK
IObjectMetaInfo.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/********************************************************************************
3**
4** Copyright (C) 2007-2017 Witold Gantzke & Kirill Lepskiy
5**
6** This file is part of the ACF Toolkit.
7**
8** This file may be used under the terms of the GNU Lesser
9** General Public License version 2.1 as published by the Free Software
10** Foundation and appearing in the file LicenseLGPL.txt included in the
11** packaging of this file. Please review the following information to
12** ensure the GNU Lesser General Public License version 2.1 requirements
13** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
14**
15** If you are unsure which license is appropriate for your use, please
16** contact us at info@imagingtools.de.
17**
18** See http://www.ilena.org or write info@imagingtools.de for further
19** information about the ACF.
20**
21********************************************************************************/
22
23#pragma once
24
25
26// Qt includes
27#include <QtCore/QVariant>
28
29// ACF includes
30#include <istd/TSmartPtr.h>
31#include <istd/IChangeable.h>
32
33
34namespace imtbase
35{
36
37
41class IObjectMetaInfo: virtual public istd::IChangeable
42{
43public:
44
49 {
53 CF_OBJECT_METAINFO = 0xd83067d
54 };
55
56
60 virtual QVariant GetMetaInfo(QByteArray metaInfoId) const = 0;
61
65 virtual bool SetMetaInfo(QByteArray metaInfoId, const QVariant& metaInfo) = 0;
66
70 virtual bool IsMetaInfoWritable(QByteArray metaInfoId) const = 0;
71};
72
73
74typedef istd::TSmartPtr<IObjectMetaInfo> ObjectMetaInfoPtr;
75
76
77} // namespace imtbase
78
virtual QVariant GetMetaInfo(QByteArray metaInfoId) const =0
virtual bool IsMetaInfoWritable(QByteArray metaInfoId) const =0
virtual bool SetMetaInfo(QByteArray metaInfoId, const QVariant &metaInfo)=0