summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Goetz <Markus.Goetz@nokia.com>2010-12-07 15:51:48 (GMT)
committerMarkus Goetz <Markus.Goetz@nokia.com>2010-12-07 16:15:30 (GMT)
commita0528585d02440b37fb93f37e3d15ce2356d2541 (patch)
tree817f6a2064c6041f67f345274c1bb7ed375a1bd9
parentc59b7067ace1abc5f9a0aca9bd90d49340cb4e79 (diff)
downloadQt-a0528585d02440b37fb93f37e3d15ce2356d2541.zip
Qt-a0528585d02440b37fb93f37e3d15ce2356d2541.tar.gz
Qt-a0528585d02440b37fb93f37e3d15ce2356d2541.tar.bz2
Remove Symbian code from QNativeSocketEngine
.. and move one function around Reviewed-by: Shane Kearns
-rw-r--r--src/network/socket/qnativesocketengine.cpp8
-rw-r--r--src/network/socket/qnativesocketengine_p.h11
-rw-r--r--src/network/socket/qsymbiansocketengine.cpp80
3 files changed, 51 insertions, 48 deletions
diff --git a/src/network/socket/qnativesocketengine.cpp b/src/network/socket/qnativesocketengine.cpp
index 00d36b4..1fe5572 100644
--- a/src/network/socket/qnativesocketengine.cpp
+++ b/src/network/socket/qnativesocketengine.cpp
@@ -110,10 +110,6 @@
# include "qtcpserver.h"
#endif
-#ifdef Q_OS_SYMBIAN
-# include <private/qcore_symbian_p.h>
-#endif
-
QT_BEGIN_NAMESPACE
//#define QNATIVESOCKETENGINE_DEBUG
@@ -164,9 +160,6 @@ QT_BEGIN_NAMESPACE
*/
QNativeSocketEnginePrivate::QNativeSocketEnginePrivate() :
socketDescriptor(-1),
-#ifdef Q_OS_SYMBIAN
- socketServer(qt_symbianGetSocketServer()),
-#endif
readNotifier(0),
writeNotifier(0),
exceptNotifier(0)
@@ -394,7 +387,6 @@ bool QNativeSocketEngine::initialize(QAbstractSocket::SocketType socketType, QAb
// Make sure we receive out-of-band data
- // On Symbian OS this works only with native IP stack, not with WinSock
if (socketType == QAbstractSocket::TcpSocket
&& !setOption(ReceiveOutOfBandData, 1)) {
qWarning("QNativeSocketEngine::initialize unable to inline out-of-band data");
diff --git a/src/network/socket/qnativesocketengine_p.h b/src/network/socket/qnativesocketengine_p.h
index c017065..1f13433 100644
--- a/src/network/socket/qnativesocketengine_p.h
+++ b/src/network/socket/qnativesocketengine_p.h
@@ -198,12 +198,6 @@ public:
~QNativeSocketEnginePrivate();
int socketDescriptor;
-#ifdef Q_OS_SYMBIAN
- mutable RSocket nativeSocket;
- RSocketServ& socketServer;
- RConnection connection; //TODO: shared ref
- mutable RTimer selectTimer;
-#endif
QSocketNotifier *readNotifier, *writeNotifier, *exceptNotifier;
@@ -241,11 +235,6 @@ public:
UnknownSocketErrorString = -1
};
-#ifdef Q_OS_SYMBIAN
- void getPortAndAddress(const TInetAddr& a, quint16 *port, QHostAddress *addr);
- void setPortAndAddress(TInetAddr& nativeAddr, quint16 port, const QHostAddress &addr);
- void setError(TInt symbianError);
-#endif
void setError(QAbstractSocket::SocketError error, ErrorString errorString) const;
// native functions
diff --git a/src/network/socket/qsymbiansocketengine.cpp b/src/network/socket/qsymbiansocketengine.cpp
index b553110..7a22918 100644
--- a/src/network/socket/qsymbiansocketengine.cpp
+++ b/src/network/socket/qsymbiansocketengine.cpp
@@ -53,6 +53,7 @@
#ifndef QT_NO_IPV6IFNAME
#include <net/if.h>
#endif
+# include <private/qcore_symbian_p.h>
#define QNATIVESOCKETENGINE_DEBUG
@@ -229,6 +230,56 @@ int QSymbianSocketEnginePrivate::option(QAbstractSocketEngine::SocketOption opt)
}
+void QSymbianSocketEnginePrivate::setPortAndAddress(TInetAddr& nativeAddr, quint16 port, const QHostAddress &addr)
+{
+ nativeAddr.SetPort(port);
+#if !defined(QT_NO_IPV6)
+ if (addr.protocol() == QAbstractSocket::IPv6Protocol) {
+#ifndef QT_NO_IPV6IFNAME
+ TPckgBuf<TSoInetIfQuery> query;
+ query().iName = qt_QString2TPtrC(addr.scopeId());
+ TInt err = nativeSocket.GetOpt(KSoInetIfQueryByName, KSolInetIfQuery, query);
+ if(!err)
+ nativeAddr.SetScope(query().iIndex);
+ else
+ nativeAddr.SetScope(0);
+#else
+ nativeAddr.SetScope(addr.scopeId().toInt());
+#endif
+ Q_IPV6ADDR ip6 = addr.toIPv6Address();
+ TIp6Addr v6addr;
+ memcpy(v6addr.u.iAddr8, ip6.c, 16);
+ nativeAddr.SetAddress(v6addr);
+ } else
+#endif
+ if (addr.protocol() == QAbstractSocket::IPv4Protocol) {
+ nativeAddr.SetAddress(addr.toIPv4Address());
+ } else {
+ qWarning("unsupported network protocol (%d)", addr.protocol());
+ }
+}
+
+QSymbianSocketEnginePrivate::QSymbianSocketEnginePrivate() :
+ socketDescriptor(-1),
+ socketServer(qt_symbianGetSocketServer()),
+ readNotifier(0),
+ writeNotifier(0),
+ exceptNotifier(0)
+{
+}
+
+
+QSymbianSocketEngine::QSymbianSocketEngine(QObject *parent)
+ : QAbstractSocketEngine(*new QSymbianSocketEnginePrivate(), parent)
+{
+}
+
+
+QSymbianSocketEngine::~QSymbianSocketEngine()
+{
+ close();
+}
+
/*
Sets the socket option \a opt to \a v.
*/
@@ -276,35 +327,6 @@ bool QSymbianSocketEngine::setOption(QAbstractSocketEngine::SocketOption opt, in
return (KErrNone == nativeSocket.SetOpt(n, level, v));
}
-void QSymbianSocketEnginePrivate::setPortAndAddress(TInetAddr& nativeAddr, quint16 port, const QHostAddress &addr)
-{
- nativeAddr.SetPort(port);
-#if !defined(QT_NO_IPV6)
- if (addr.protocol() == QAbstractSocket::IPv6Protocol) {
-#ifndef QT_NO_IPV6IFNAME
- TPckgBuf<TSoInetIfQuery> query;
- query().iName = qt_QString2TPtrC(addr.scopeId());
- TInt err = nativeSocket.GetOpt(KSoInetIfQueryByName, KSolInetIfQuery, query);
- if(!err)
- nativeAddr.SetScope(query().iIndex);
- else
- nativeAddr.SetScope(0);
-#else
- nativeAddr.SetScope(addr.scopeId().toInt());
-#endif
- Q_IPV6ADDR ip6 = addr.toIPv6Address();
- TIp6Addr v6addr;
- memcpy(v6addr.u.iAddr8, ip6.c, 16);
- nativeAddr.SetAddress(v6addr);
- } else
-#endif
- if (addr.protocol() == QAbstractSocket::IPv4Protocol) {
- nativeAddr.SetAddress(addr.toIPv4Address());
- } else {
- qWarning("unsupported network protocol (%d)", addr.protocol());
- }
-}
-
bool QSymbianSocketEngine::connect(const QHostAddress &addr, quint16 port)
{
#ifdef QNATIVESOCKETENGINE_DEBUG