summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2010-05-05 14:20:06 (GMT)
committerBradley T. Hughes <bradley.hughes@nokia.com>2010-09-01 12:24:35 (GMT)
commitacc7d0d4111916af4814f6521e5269e38c34e76f (patch)
treebd11a5b55777f3d57dc829fe95c809995f2df2c1 /src
parente09778c7f3ef8a2272ab7dd18d00619e456fa84b (diff)
downloadQt-acc7d0d4111916af4814f6521e5269e38c34e76f.zip
Qt-acc7d0d4111916af4814f6521e5269e38c34e76f.tar.gz
Qt-acc7d0d4111916af4814f6521e5269e38c34e76f.tar.bz2
Add QUdpSocket::joinMulticastGroup() and leaveMulticastGroup()
Each function takes a groupAddress and optional source address, network interface, and flags.
Diffstat (limited to 'src')
-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);