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 | |
| parent | 5a49c45d7c5788271c9e784706de7047e403eba2 (diff) | |
| download | qxmpp-bb6f1e575a1d65162c73ff4f3042c6febd4c939e.tar.gz | |
move socket disconnect handling out of QXmppStream
Diffstat (limited to 'src')
| -rw-r--r-- | src/base/QXmppStream.cpp | 14 | ||||
| -rw-r--r-- | src/base/QXmppStream.h | 1 | ||||
| -rw-r--r-- | src/client/QXmppOutgoingClient.cpp | 10 | ||||
| -rw-r--r-- | src/client/QXmppOutgoingClient.h | 1 | ||||
| -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 |
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); |
