Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qnetworkdatagram.h
Go to the documentation of this file.
1
// Copyright (C) 2016 Intel Corporation.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QNETWORKDATAGRAM_H
6
#
define
QNETWORKDATAGRAM_H
7
8
#
include
<
QtCore
/
qbytearray
.
h
>
9
#
include
<
QtCore
/
qmetatype
.
h
>
10
11
#
include
<
QtNetwork
/
qhostaddress
.
h
>
12
13
#
ifndef
QT_NO_UDPSOCKET
14
15
QT_BEGIN_NAMESPACE
16
17
class
QNetworkDatagramPrivate;
18
class
QUdpSocketPrivate;
19
20
class
Q_NETWORK_EXPORT
QNetworkDatagram
21
{
22
public
:
23
QNetworkDatagram();
24
QNetworkDatagram(
const
QByteArray &data,
const
QHostAddress &destinationAddress = QHostAddress(),
25
quint16 port = 0);
// implicit
26
QNetworkDatagram(
const
QNetworkDatagram &other);
27
QNetworkDatagram &operator=(
const
QNetworkDatagram &other);
28
~QNetworkDatagram()
29
{
if
(d) destroy(d); }
30
31
QNetworkDatagram(QNetworkDatagram &&other)
noexcept
32
: d(other.d)
33
{ other.d =
nullptr
; }
34
QNetworkDatagram &operator=(QNetworkDatagram &&other)
noexcept
35
{ swap(other);
return
*
this
; }
36
37
void
swap(QNetworkDatagram &other)
noexcept
38
{ qt_ptr_swap(d, other.d); }
39
40
void
clear();
41
bool
isValid()
const
;
42
bool
isNull()
const
43
{
return
!isValid(); }
44
45
uint interfaceIndex()
const
;
46
void
setInterfaceIndex(uint index);
47
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);
54
55
int
hopLimit()
const
;
56
void
setHopLimit(
int
count);
57
58
QByteArray data()
const
;
59
void
setData(
const
QByteArray &data);
60
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
; }
66
#
else
67
QNetworkDatagram makeReply(
const
QByteArray &paylaod)
const
68
{
return
makeReply_helper(paylaod); }
69
#
endif
70
71
private
:
72
QNetworkDatagramPrivate *d;
73
friend
class
QUdpSocket;
74
friend
class
QSctpSocket;
75
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);
80
};
81
82
Q_DECLARE_SHARED
(
QNetworkDatagram
)
83
84
QT_END_NAMESPACE
85
86
QT_DECL_METATYPE_EXTERN(QNetworkDatagram, Q_NETWORK_EXPORT)
87
88
#
endif
// QT_NO_UDPSOCKET
89
90
#
endif
// QNETWORKDATAGRAM_H
QNetworkDatagram
The QNetworkDatagram class provides the data and metadata of a UDP datagram.
Definition
qnetworkdatagram.h:21
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
isNonMulticast
static bool isNonMulticast(const QHostAddress &addr)
Definition
qnetworkdatagram.cpp:456
qtbase
src
network
kernel
qnetworkdatagram.h
Generated on
for Qt by
1.18.0