ImagingTools Core SDK
CUdpSender.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/QUdpSocket>
7
8// ImtCore includes
9#include <imtrest/ITransport.h>
10#include <imtrest/CUdpRequest.h>
11
12
13namespace imtrest
14{
15
16
17class CUdpSender: public QObject, virtual public ITransport
18{
19 Q_OBJECT
20public:
21 CUdpSender(CUdpRequest* request);
22
23 // reimplemented (ITransport)
24 virtual bool SendResponse(ConstResponsePtr& response) const override;
25 virtual bool SendRequest(ConstRequestPtr& request) const override;
26
27Q_SIGNALS:
28 void sended(QByteArray requestId) const;
29private:
30 QUdpSocket* m_socket;
31 QHostAddress m_address;
32 unsigned int m_port = 0;
33 QByteArray m_requestId;
34};
35
36
37} // namespace imtrest
38
39