diff options
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); |