ImagingTools Core SDK
CWebSocketSender.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 <QtWebSockets/QtWebSockets>
7
8// ImtCore includes
9#include <imtrest/ITransport.h>
10
11
12namespace imtrest
13{
14
15
16class CWebSocketSender: public QObject, virtual public ITransport
17{
18 Q_OBJECT
19public:
20 CWebSocketSender(QWebSocket* webSocketPtr);
21 const QWebSocket* GetSocket() const;
22
23 // reimplemented (ITransport)
24 virtual bool SendResponse(ConstResponsePtr& response) const override;
25 virtual bool SendRequest(ConstRequestPtr& request) const override;
26
27public Q_SLOTS:
28 void OnSendTextMessage(const QByteArray& data) const;
29
30Q_SIGNALS:
31 void SendTextMessage(const QByteArray& data) const;
32
33private:
34 QWebSocket* m_webSocketPtr;
35};
36
37
38} // namespace imtrest
39
40