aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-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
4 files changed, 13 insertions, 0 deletions
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);