aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-09-02 17:23:39 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-09-02 17:23:39 +0200
commitbb6f1e575a1d65162c73ff4f3042c6febd4c939e (patch)
treeb7ff59e28e7fa696a03502f31fe9de6471dcbdcb /src
parent5a49c45d7c5788271c9e784706de7047e403eba2 (diff)
downloadqxmpp-bb6f1e575a1d65162c73ff4f3042c6febd4c939e.tar.gz
move socket disconnect handling out of QXmppStream
Diffstat (limited to 'src')
-rw-r--r--src/base/QXmppStream.cpp14
-rw-r--r--src/base/QXmppStream.h1
-rw-r--r--src/client/QXmppOutgoingClient.cpp10
-rw-r--r--src/client/QXmppOutgoingClient.h1
-rw-r--r--src/server/QXmppIncomingClient.cpp1
-rw-r--r--src/server/QXmppIncomingServer.cpp1
-rw-r--r--src/server/QXmppOutgoingServer.cpp10
-rw-r--r--src/server/QXmppOutgoingServer.h1
8 files changed, 24 insertions, 15 deletions
diff --git a/src/base/QXmppStream.cpp b/src/base/QXmppStream.cpp
index ec0ff48a..e63deec7 100644
--- a/src/base/QXmppStream.cpp
+++ b/src/base/QXmppStream.cpp
@@ -166,10 +166,6 @@ void QXmppStream::setSocket(QSslSocket *socket)
this, SLOT(_q_socketConnected()));
Q_ASSERT(check);
- check = connect(socket, SIGNAL(disconnected()),
- this, SLOT(_q_socketDisconnected()));
- Q_ASSERT(check);
-
check = connect(socket, SIGNAL(encrypted()),
this, SLOT(_q_socketEncrypted()));
Q_ASSERT(check);
@@ -180,11 +176,6 @@ void QXmppStream::setSocket(QSslSocket *socket)
check = connect(socket, SIGNAL(readyRead()),
this, SLOT(_q_socketReadyRead()));
Q_ASSERT(check);
-
- // relay signals
- check = connect(socket, SIGNAL(disconnected()),
- this, SIGNAL(disconnected()));
- Q_ASSERT(check);
}
void QXmppStream::_q_socketConnected()
@@ -195,11 +186,6 @@ void QXmppStream::_q_socketConnected()
handleStart();
}
-void QXmppStream::_q_socketDisconnected()
-{
- debug("Socket disconnected");
-}
-
void QXmppStream::_q_socketEncrypted()
{
debug("Socket encrypted");
diff --git a/src/base/QXmppStream.h b/src/base/QXmppStream.h
index 6c49521d..b3346e51 100644
--- a/src/base/QXmppStream.h
+++ b/src/base/QXmppStream.h
@@ -80,7 +80,6 @@ public slots:
private slots:
void _q_socketConnected();
- void _q_socketDisconnected();
void _q_socketEncrypted();
void _q_socketError(QAbstractSocket::SocketError error);
void _q_socketReadyRead();
diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp
index c3bcd8d0..9b379272 100644
--- a/src/client/QXmppOutgoingClient.cpp
+++ b/src/client/QXmppOutgoingClient.cpp
@@ -128,6 +128,10 @@ QXmppOutgoingClient::QXmppOutgoingClient(QObject *parent)
QSslSocket *socket = new QSslSocket(this);
setSocket(socket);
+ check = connect(socket, SIGNAL(disconnected()),
+ this, SLOT(_q_socketDisconnected()));
+ Q_ASSERT(check);
+
check = connect(socket, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(socketSslErrors(QList<QSslError>)));
Q_ASSERT(check);
@@ -218,6 +222,12 @@ bool QXmppOutgoingClient::isConnected() const
return QXmppStream::isConnected() && d->sessionStarted;
}
+void QXmppOutgoingClient::_q_socketDisconnected()
+{
+ debug("Socket disconnected");
+ emit disconnected();
+}
+
void QXmppOutgoingClient::socketSslErrors(const QList<QSslError> & error)
{
warning("SSL errors");
diff --git a/src/client/QXmppOutgoingClient.h b/src/client/QXmppOutgoingClient.h
index bdba1870..3356dc3f 100644
--- a/src/client/QXmppOutgoingClient.h
+++ b/src/client/QXmppOutgoingClient.h
@@ -86,6 +86,7 @@ protected:
private slots:
void _q_dnsLookupFinished();
+ void _q_socketDisconnected();
void socketError(QAbstractSocket::SocketError);
void socketSslErrors(const QList<QSslError>&);
diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp
index 01990960..76fa9f6f 100644
--- a/src/server/QXmppIncomingClient.cpp
+++ b/src/server/QXmppIncomingClient.cpp
@@ -449,6 +449,7 @@ void QXmppIncomingClient::onPasswordReply()
void QXmppIncomingClient::onSocketDisconnected()
{
info(QString("Socket disconnected for '%1' from %2").arg(d->jid, d->origin()));
+ emit disconnected();
}
void QXmppIncomingClient::onTimeout()
diff --git a/src/server/QXmppIncomingServer.cpp b/src/server/QXmppIncomingServer.cpp
index 0eb2754a..e692c1fb 100644
--- a/src/server/QXmppIncomingServer.cpp
+++ b/src/server/QXmppIncomingServer.cpp
@@ -236,4 +236,5 @@ void QXmppIncomingServer::slotDialbackResponseReceived(const QXmppDialback &dial
void QXmppIncomingServer::slotSocketDisconnected()
{
info(QString("Socket disconnected from %1").arg(d->origin()));
+ emit disconnected();
}
diff --git a/src/server/QXmppOutgoingServer.cpp b/src/server/QXmppOutgoingServer.cpp
index 75d9c889..3101bced 100644
--- a/src/server/QXmppOutgoingServer.cpp
+++ b/src/server/QXmppOutgoingServer.cpp
@@ -64,6 +64,10 @@ QXmppOutgoingServer::QXmppOutgoingServer(const QString &domain, QObject *parent)
QSslSocket *socket = new QSslSocket(this);
setSocket(socket);
+ check = connect(socket, SIGNAL(disconnected()),
+ this, SLOT(_q_socketDisconnected()));
+ Q_ASSERT(check);
+
check = connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
this, SLOT(socketError(QAbstractSocket::SocketError)));
Q_ASSERT(check);
@@ -134,6 +138,12 @@ void QXmppOutgoingServer::_q_dnsLookupFinished()
socket()->connectToHost(host, port);
}
+void QXmppOutgoingServer::_q_socketDisconnected()
+{
+ debug("Socket disconnected");
+ emit disconnected();
+}
+
/// \cond
void QXmppOutgoingServer::handleStart()
diff --git a/src/server/QXmppOutgoingServer.h b/src/server/QXmppOutgoingServer.h
index 1b0a320b..94139261 100644
--- a/src/server/QXmppOutgoingServer.h
+++ b/src/server/QXmppOutgoingServer.h
@@ -70,6 +70,7 @@ public slots:
private slots:
void _q_dnsLookupFinished();
+ void _q_socketDisconnected();
void sendDialback();
void slotSslErrors(const QList<QSslError> &errors);
void socketError(QAbstractSocket::SocketError error);