summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qabstractsocketengine_p.h
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:36 (GMT)
commite6b836293346d81c926bf17c5e9b128c969dc672 (patch)
treeb601a25508275bcf4e24779cdd4bfaa12167fbaa /src/network/socket/qabstractsocketengine_p.h
parentacc7d0d4111916af4814f6521e5269e38c34e76f (diff)
downloadQt-e6b836293346d81c926bf17c5e9b128c969dc672.zip
Qt-e6b836293346d81c926bf17c5e9b128c969dc672.tar.gz
Qt-e6b836293346d81c926bf17c5e9b128c969dc672.tar.bz2
Implement QUdpSocket::joinMulticastGroup() and leaveMulticastGroup()
This is actually just done in the socket engine, so we need to add the API for setting the loopback socket option and joining/leaving the group. Implementation for the various engines will follow.
Diffstat (limited to 'src/network/socket/qabstractsocketengine_p.h')
-rw-r--r--src/network/socket/qabstractsocketengine_p.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/network/socket/qabstractsocketengine_p.h b/src/network/socket/qabstractsocketengine_p.h
index 3669852..9a2a7c3 100644
--- a/src/network/socket/qabstractsocketengine_p.h
+++ b/src/network/socket/qabstractsocketengine_p.h
@@ -61,6 +61,7 @@ QT_BEGIN_NAMESPACE
class QAuthenticator;
class QAbstractSocketEnginePrivate;
+class QNetworkInterface;
class QNetworkProxy;
class QAbstractSocketEngineReceiver {
@@ -94,7 +95,8 @@ public:
BindExclusively,
ReceiveOutOfBandData,
LowDelayOption,
- KeepAliveOption
+ KeepAliveOption,
+ MulticastLoopback
};
virtual bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol) = 0;
@@ -118,6 +120,13 @@ public:
virtual qint64 write(const char *data, qint64 len) = 0;
#ifndef QT_NO_UDPSOCKET
+ virtual bool joinMulticastGroup(const QHostAddress &groupAddress,
+ const QHostAddress &sourceAddress,
+ const QNetworkInterface &interface) = 0;
+ virtual bool leaveMulticastGroup(const QHostAddress &groupAddress,
+ const QHostAddress &sourceAddress,
+ const QNetworkInterface &interface) = 0;
+
virtual qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *addr = 0,
quint16 *port = 0) = 0;
virtual qint64 writeDatagram(const char *data, qint64 len, const QHostAddress &addr,