27 friend class ::test_DatagramHandlerImpl;
28 friend struct QtSharedPointer::CustomDeleter<
DatagramHandlerImpl, QtSharedPointer::NormalDeleter>;
31 QScopedPointer<QUdpSocket, QScopedPointerDeleteLater> mSocket;
32 QScopedPointer<MulticastLock> mMulticastLock;
33 QList<QNetworkAddressEntry> mAllEntries;
34 QList<QHostAddress> mFailedAddresses;
37 bool mEnableListening;
40 [[nodiscard]] bool isValidBroadcastInterface(const QNetworkInterface& pInterface) const;
41 [[nodiscard]] bool isValidAddressEntry(const QNetworkAddressEntry& pEntry) const;
42 [[nodiscard]] QHostAddress getBroadcastAddress(const QNetworkAddressEntry& pEntry) const;
43 [[nodiscard]] bool sendToAddress(const QByteArray& pData, const QHostAddress& pAddress, quint16 pPort = 0, bool pLogError = true);
44 void sendToAddressEntries(const QByteArray& pData, const QList<QNetworkAddressEntry>& pEntries, quint16 pPort);
48 void checkNetworkPermission();
55 [[nodiscard]] bool
isBound() const override;
57 void
send(const QByteArray& pData, const QList<QNetworkAddressEntry>& pEntries) override;