ImagingTools Core SDK
CTcpSender.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 <QtNetwork/QAbstractSocket>
7
8// ImtCore includes
9#include <imtrest/ITransport.h>
10
11namespace imtrest
12{
13
14
15class CTcpSender: public QObject, virtual public ITransport
16{
17 Q_OBJECT
18public:
19 CTcpSender(QAbstractSocket* tcpSocketPtr);
20 // reimplemented (ITransport)
21 virtual bool SendResponse(ConstResponsePtr& response) const override;
22 virtual bool SendRequest(ConstRequestPtr& request) const override;
23
24protected:
25 virtual bool WriteBody(const QByteArray& data, QAbstractSocket& socket) const;
26
27 QAbstractSocket* m_tcpSocketPtr;
28};
29
30
31} // namespace imtrest
32
33