ImagingTools Core SDK
CWebSocketResponse.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 CWebSocketResponse: public QObject, virtual public IResponse
17{
18 Q_OBJECT
19public:
20 CWebSocketResponse(
21 int statusCode,
22 const QByteArray& data,
23 const QByteArray& dataTypeId,
24 const IProtocolEngine& engine);
25
26 // reimplemented (IResponse)
27 virtual int GetStatusCode() const override;
28 virtual const QByteArray& GetData() const override;
29 virtual QByteArray GetDataTypeId() const override;
30 virtual Headers GetHeaders() const override;
31
32 // reimplemented (INetworkObject)
33 virtual const IProtocolEngine& GetProtocolEngine() const override;
34
35 // reimplemented (istd::IChangeable)
36 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
37
38private:
39 const IProtocolEngine& m_engine;
40
41 Headers m_headers;
42 int m_statusCode;
43 QByteArray m_data;
44 QByteArray m_dataTypeId;
45};
46
47
48} // namespace imtrest
49
50