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