ImagingTools Core SDK
CReferenceObject.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// Qt includes
6#include <QtCore/QJsonObject>
7#include <QtCore/QJsonArray>
8#include <QtCore/QJsonValue>
9#include <QtCore/QString>
10
11
12namespace imtoas
13{
14
15
16class CReferenceObject
17{
18public:
19 [[nodiscard]] QString GetReference() const;
20 void SetReference(const QString& reference);
21
22 [[nodiscard]] QString GetSummary() const;
23 void SetSummary(const QString& summary);
24
25 [[nodiscard]] QString GetDescription() const;
26 void SetDescription(const QString& description);
27
28 [[nodiscard]] static bool ReadFromJsonObject(CReferenceObject& object, const QJsonObject& jsonObject, const QJsonObject& globalObject);
29
30 bool operator==(const CReferenceObject& other) const;
31 bool operator!=(const CReferenceObject& other) const { return !(operator==(other)); }
32
33private:
34 QString m_reference;
35 QString m_summary;
36 QString m_description;
37};
38
39
40} // namespace imtoas
41
42
43Q_DECLARE_METATYPE(imtoas::CReferenceObject);
44
45