diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-02 17:23:39 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-02 17:23:39 +0200 |
| commit | bb6f1e575a1d65162c73ff4f3042c6febd4c939e (patch) | |
| tree | b7ff59e28e7fa696a03502f31fe9de6471dcbdcb /src/server | |
| parent | 5a49c45d7c5788271c9e784706de7047e403eba2 (diff) | |
| download | qxmpp-bb6f1e575a1d65162c73ff4f3042c6febd4c939e.tar.gz | |
move socket disconnect handling out of QXmppStream
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/QXmppIncomingClient.cpp | 1 | ||||
| -rw-r--r-- | src/server/QXmppIncomingServer.cpp | 1 | ||||
| -rw-r--r-- | src/server/QXmppOutgoingServer.cpp | 10 | ||||
| -rw-r--r-- | src/server/QXmppOutgoingServer.h | 1 |
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); |
