24 friend class ::test_DatagramHandlerImpl;
25 friend struct QtSharedPointer::CustomDeleter<
DatagramHandlerImpl, QtSharedPointer::NormalDeleter>;
28 QScopedPointer<QUdpSocket, QScopedPointerDeleteLater> mSocket;
29 QScopedPointer<MulticastLock> mMulticastLock;
30 QList<QHostAddress> mAllAddresses;
31 QStringList mFailedAddresses;
34 bool mEnableListening;
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);
44 void checkNetworkPermission();
51 [[nodiscard]] bool
isBound() const override;
52 void
send(const QByteArray& pData) override;