24 QNetworkDatagram(
const QByteArray &data,
const QHostAddress &destinationAddress = QHostAddress(),
26 QNetworkDatagram(
const QNetworkDatagram &other);
27 QNetworkDatagram &operator=(
const QNetworkDatagram &other);
29 {
if (d) destroy(d); }
31 QNetworkDatagram(QNetworkDatagram &&other)
noexcept
33 { other.d =
nullptr; }
34 QNetworkDatagram &operator=(QNetworkDatagram &&other)
noexcept
35 { swap(other);
return *
this; }
37 void swap(QNetworkDatagram &other)
noexcept
38 { qt_ptr_swap(d, other.d); }
43 {
return !isValid(); }
45 uint interfaceIndex()
const;
46 void setInterfaceIndex(uint index);
48 QHostAddress senderAddress()
const;
49 QHostAddress destinationAddress()
const;
50 int senderPort()
const;
51 int destinationPort()
const;
52 void setSender(
const QHostAddress &address, quint16 port = 0);
53 void setDestination(
const QHostAddress &address, quint16 port);
56 void setHopLimit(
int count);
58 QByteArray data()
const;
59 void setData(
const QByteArray &data);
61#if defined(Q_COMPILER_REF_QUALIFIERS) || defined(Q_QDOC)
62 QNetworkDatagram makeReply(
const QByteArray &payload)
const &
63 {
return makeReply_helper(payload); }
64 QNetworkDatagram makeReply(
const QByteArray &payload) &&
65 { makeReply_helper_inplace(payload);
return *
this; }
67 QNetworkDatagram makeReply(
const QByteArray &paylaod)
const
68 {
return makeReply_helper(paylaod); }
72 QNetworkDatagramPrivate *d;
73 friend class QUdpSocket;
74 friend class QSctpSocket;
76 explicit QNetworkDatagram(QNetworkDatagramPrivate &dd);
77 QNetworkDatagram makeReply_helper(
const QByteArray &data)
const;
78 void makeReply_helper_inplace(
const QByteArray &data);
79 static void destroy(QNetworkDatagramPrivate *d);