ImagingTools Core SDK
CServer.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/CServerVariable.h>
14
15
16namespace imtoas
17{
18
19
20class CServer
21{
22public:
23 [[nodiscard]] QString GetUrl() const;
24 void SetUrl(const QString& url);
25
26 [[nodiscard]] QString GetDescription() const;
27 void SetDescription(const QString& description);
28
29 [[nodiscard]] QList<CServerVariable> GetVariables() const;
30 void SetVariables(const QList<CServerVariable>& variables);
31
32 [[nodiscard]] static bool ReadFromJsonObject(CServer& object, const QJsonObject& jsonObject, const QJsonObject& globalObject);
33
34 bool operator==(const CServer& other) const;
35 bool operator!=(const CServer& other) const { return !(operator==(other)); }
36
37private:
38 QString m_url;
39 QString m_description;
40 QList<CServerVariable> m_variables;
41};
42
43
44} // namespace imtoas
45
46
47Q_DECLARE_METATYPE(imtoas::CServer);
48
49