summaryrefslogtreecommitdiffstats
path: root/src/network/socket
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/socket')
-rw-r--r--src/network/socket/qudpsocket.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/network/socket/qudpsocket.h b/src/network/socket/qudpsocket.h
index f477306..8cb6dc3 100644
--- a/src/network/socket/qudpsocket.h
+++ b/src/network/socket/qudpsocket.h
@@ -53,6 +53,7 @@ QT_MODULE(Network)
#ifndef QT_NO_UDPSOCKET
+class QNetworkInterface;
class QUdpSocketPrivate;
class Q_NETWORK_EXPORT QUdpSocket : public QAbstractSocket
@@ -67,6 +68,12 @@ public:
};
Q_DECLARE_FLAGS(BindMode, BindFlag)
+ enum MulticastFlag {
+ DefaultMulticastFlagForPlatform = 0x0,
+ MulticastLoopback = 0x1
+ };
+ Q_DECLARE_FLAGS(MulticastMode, MulticastFlag)
+
explicit QUdpSocket(QObject *parent = 0);
virtual ~QUdpSocket();
@@ -76,6 +83,17 @@ public:
bool bind(quint16 port, BindMode mode);
// ### Qt 5: Merge the bind functions
+ bool joinMulticastGroup(const QHostAddress &groupAddress,
+ MulticastMode mode = DefaultMulticastFlagForPlatform);
+ bool joinMulticastGroup(const QHostAddress &groupAddress,
+ const QHostAddress &sourceAddress,
+ const QNetworkInterface &interface,
+ MulticastMode mode = DefaultMulticastFlagForPlatform);
+ bool leaveMulticastGroup(const QHostAddress &groupAddress);
+ bool leaveMulticastGroup(const QHostAddress &groupAddress,
+ const QHostAddress &sourceAddress,
+ const QNetworkInterface &interface);
+
bool hasPendingDatagrams() const;
qint64 pendingDatagramSize() const;
qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *host = 0, quint16 *port = 0);