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