22 QNetworkDatagram(
const QByteArray &data,
const QHostAddress &destinationAddress = QHostAddress(),
24 QNetworkDatagram(
const QNetworkDatagram &other);
25 QNetworkDatagram &operator=(
const QNetworkDatagram &other);
27 {
if (d) destroy(d); }
29 QNetworkDatagram(QNetworkDatagram &&other)
noexcept
31 { other.d =
nullptr; }
32 QNetworkDatagram &operator=(QNetworkDatagram &&other)
noexcept
33 { swap(other);
return *
this; }
35 void swap(QNetworkDatagram &other)
noexcept
36 { qt_ptr_swap(d, other.d); }
41 {
return !isValid(); }
43 uint interfaceIndex()
const;
44 void setInterfaceIndex(uint index);
46 QHostAddress senderAddress()
const;
47 QHostAddress destinationAddress()
const;
48 int senderPort()
const;
49 int destinationPort()
const;
50 void setSender(
const QHostAddress &address, quint16 port = 0);
51 void setDestination(
const QHostAddress &address, quint16 port);
54 void setHopLimit(
int count);
56 QByteArray data()
const;
57 void setData(
const QByteArray &data);
59#if defined(Q_COMPILER_REF_QUALIFIERS) || defined(Q_QDOC)
60 QNetworkDatagram makeReply(
const QByteArray &payload)
const &
61 {
return makeReply_helper(payload); }
62 QNetworkDatagram makeReply(
const QByteArray &payload) &&
63 { makeReply_helper_inplace(payload);
return *
this; }
65 QNetworkDatagram makeReply(
const QByteArray &paylaod)
const
66 {
return makeReply_helper(paylaod); }
70 QNetworkDatagramPrivate *d;
71 friend class QUdpSocket;
72 friend class QSctpSocket;
74 explicit QNetworkDatagram(QNetworkDatagramPrivate &dd);
75 QNetworkDatagram makeReply_helper(
const QByteArray &data)
const;
76 void makeReply_helper_inplace(
const QByteArray &data);
77 static void destroy(QNetworkDatagramPrivate *d);