diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-05-05 14:20:06 (GMT) |
---|---|---|
committer | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-09-01 12:24:35 (GMT) |
commit | acc7d0d4111916af4814f6521e5269e38c34e76f (patch) | |
tree | bd11a5b55777f3d57dc829fe95c809995f2df2c1 /src/network/socket | |
parent | e09778c7f3ef8a2272ab7dd18d00619e456fa84b (diff) | |
download | Qt-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/network/socket')
-rw-r--r-- | src/network/socket/qudpsocket.h | 18 |
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); |