ImagingTools Core SDK
CHttpResponse.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/QObject>
7
8// ImtCore includes
9#include <imtrest/IResponse.h>
10
11
12namespace imtrest
13{
14
15
16class CHttpResponse: virtual public IResponse
17{
18public:
19 CHttpResponse(
20 int statusCode,
21 const QByteArray& data,
22 const QByteArray& dataTypeId,
23 const IProtocolEngine& engine);
24
25 void SetData(const QByteArray& data);
26 void SetHeaders(const Headers& headers);
27
28 // reimplemented (IResponse)
29 virtual int GetStatusCode() const override;
30 virtual const QByteArray& GetData() const override;
31 virtual QByteArray GetDataTypeId() const override;
32 virtual Headers GetHeaders() const override;
33
34 // reimplemented (INetworkObject)
35 virtual const IProtocolEngine& GetProtocolEngine() const override;
36
37 // reimplemented (istd::IChangeable)
38 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
39
40private:
41 const IProtocolEngine& m_engine;
42
43 Headers m_headers;
44 int m_statusCode;
45 QByteArray m_data;
46 QByteArray m_dataTypeId;
47};
48
49
50} // namespace imtrest
51
52