AusweisApp
 
Lade ...
Suche ...
Keine Treffer
DatagramHandlerImpl.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include "DatagramHandler.h"
8#include "HttpServer.h"
9#include "MulticastLock.h"
10#include "PortFile.h"
11
12#include <QScopedPointer>
13#include <QSharedPointer>
14#include <QUdpSocket>
15
16
17namespace governikus
18{
19
21 : public DatagramHandler
22{
23 Q_OBJECT
24 friend class ::test_DatagramHandlerImpl;
25 friend struct QtSharedPointer::CustomDeleter<DatagramHandlerImpl, QtSharedPointer::NormalDeleter>;
26
27 private:
28 QScopedPointer<QUdpSocket, QScopedPointerDeleteLater> mSocket;
29 QScopedPointer<MulticastLock> mMulticastLock;
30 QList<QHostAddress> mAllAddresses;
31 QStringList mFailedAddresses;
32 quint16 mUsedPort;
33 PortFile mPortFile;
34 bool mEnableListening;
35
36 void resetSocket();
37 [[nodiscard]] bool isValidBroadcastInterface(const QNetworkInterface& pInterface) const;
38 [[nodiscard]] QList<QHostAddress> getAllBroadcastAddresses(const QNetworkInterface& pInterface) const;
39 [[nodiscard]] bool sendToAddress(const QByteArray& pData, const QHostAddress& pAddress, quint16 pPort = 0, bool pLogError = true);
40 void sendToAllAddressEntries(const QByteArray& pData, quint16 pPort);
41
42#if defined(Q_OS_IOS)
43
44 void checkNetworkPermission();
45#endif
46
47 public:
48 DatagramHandlerImpl(bool pEnableListening = true, quint16 pPort = HttpServer::cPort);
49 ~DatagramHandlerImpl() override;
50
51 [[nodiscard]] bool isBound() const override;
52 void send(const QByteArray& pData) override;
53
54 private Q_SLOTS:
55 void onReadyRead();
56};
57
58
59} // namespace governikus
bool isBound() const override
Definition DatagramHandlerImpl.cpp:109
DatagramHandlerImpl(bool pEnableListening=true, quint16 pPort=HttpServer::cPort)
Definition DatagramHandlerImpl.cpp:39
void send(const QByteArray &pData) override
Definition DatagramHandlerImpl.cpp:115
DatagramHandler(bool pEnableListening=true)
Definition PortFile.h:16
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17