diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-03 14:37:57 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-03 14:37:57 +0200 |
| commit | 3d6c785660ffcd982e97e8e80e7ecc3a05e022ef (patch) | |
| tree | d2e63dae0074e6a03abb5432c8e5cda9f2c57549 /src/client/QXmppOutgoingClient.cpp | |
| parent | 66af3052ce1754b8617599428b9070c0f2bb02b1 (diff) | |
add QXmppClient::isAuthenticated
Diffstat (limited to 'src/client/QXmppOutgoingClient.cpp')
| -rw-r--r-- | src/client/QXmppOutgoingClient.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp index 2fae2736..1298c593 100644 --- a/src/client/QXmppOutgoingClient.cpp +++ b/src/client/QXmppOutgoingClient.cpp @@ -84,6 +84,7 @@ public: bool sessionStarted; // Authentication + bool isAuthenticated; QString nonSASLAuthId; QXmppSaslClient *saslClient; @@ -98,6 +99,7 @@ private: QXmppOutgoingClientPrivate::QXmppOutgoingClientPrivate(QXmppOutgoingClient *qq) : redirectPort(0) , sessionAvailable(false) + , isAuthenticated(false) , saslClient(0) , q(qq) { @@ -219,6 +221,13 @@ void QXmppOutgoingClient::_q_dnsLookupFinished() } } +/// Returns true if authentication has succeeded. + +bool QXmppOutgoingClient::isAuthenticated() const +{ + return d->isAuthenticated; +} + /// Returns true if the socket is connected and a session has been started. bool QXmppOutgoingClient::isConnected() const @@ -229,6 +238,7 @@ bool QXmppOutgoingClient::isConnected() const void QXmppOutgoingClient::_q_socketDisconnected() { debug("Socket disconnected"); + d->isAuthenticated = false; if (!d->redirectHost.isEmpty() && d->redirectPort > 0) { d->connectToHost(d->redirectHost, d->redirectPort); d->redirectHost = QString(); @@ -477,6 +487,7 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv) if(nodeRecv.tagName() == "success") { debug("Authenticated"); + d->isAuthenticated = true; handleStart(); } else if(nodeRecv.tagName() == "challenge") @@ -570,6 +581,7 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv) { // successful Non-SASL Authentication debug("Authenticated (Non-SASL)"); + d->isAuthenticated = true; // xmpp connection made d->sessionStarted = true; |
