ImagingTools Core SDK
CRequestBody.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#include <QtCore/QList>
11
12// ImtCore includes
13#include <imtoas/CMediaType.h>
14
15
16namespace imtoas
17{
18
19
20class CRequestBody
21{
22public:
23 CRequestBody();
24
25 [[nodiscard]] QString GetDescription() const;
26 void SetDescription(const QString& description);
27
28 [[nodiscard]] QList<CMediaType> GetContent() const;
29 void SetContent(const QList<CMediaType>& content);
30
31 [[nodiscard]] bool IsRequired() const;
32 void SetRequired(bool required = true);
33
34 [[nodiscard]] static bool ReadFromJsonObject(CRequestBody& object, const QJsonObject& jsonObject, const QJsonObject& globalObject);
35
36 bool operator==(const CRequestBody& other) const;
37 bool operator!=(const CRequestBody& other) const { return !(operator==(other)); }
38
39 [[nodiscard]] QString GetId() const;
40 void SetId(const QString& id);
41
42private:
43 QString m_id;
44 QString m_description;
45 QList<CMediaType> m_content;
46 bool m_isRequired;
47};
48
49
50} // namespace imtoas
51
52
53Q_DECLARE_METATYPE(imtoas::CRequestBody);
54
55