diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-23 07:55:15 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-23 07:55:15 +0000 |
| commit | c02547eff8d35d8cbee7869329820dc582cc3949 (patch) | |
| tree | d260690c39cd5721e42a5fb63221c3253defd7d9 /src/QXmppOutgoingClient.cpp | |
| parent | ccb60b7970adeb4d11a02d41cecb607e331ef52e (diff) | |
| download | qxmpp-c02547eff8d35d8cbee7869329820dc582cc3949.tar.gz | |
add isConnected() methods to all streams
Diffstat (limited to 'src/QXmppOutgoingClient.cpp')
| -rw-r--r-- | src/QXmppOutgoingClient.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/QXmppOutgoingClient.cpp b/src/QXmppOutgoingClient.cpp index f9f939b2..145f5b1d 100644 --- a/src/QXmppOutgoingClient.cpp +++ b/src/QXmppOutgoingClient.cpp @@ -81,6 +81,7 @@ public: QString bindId; QString sessionId; bool sessionAvailable; + bool sessionStarted; QString streamId; QString streamFrom; QString streamVersion; @@ -156,6 +157,14 @@ void QXmppOutgoingClient::connectToHost() configuration().port()); } +/// Returns true if the socket is connected and a session has been started. +/// + +bool QXmppOutgoingClient::isConnected() const +{ + return QXmppStream::isConnected() && d->sessionStarted; +} + void QXmppOutgoingClient::socketSslErrors(const QList<QSslError> & error) { warning("SSL errors"); @@ -177,6 +186,7 @@ void QXmppOutgoingClient::handleStart() { // reset authentication step d->authStep = 0; + d->sessionStarted = false; // start stream QByteArray data = "<?xml version='1.0'?><stream:stream to='"; @@ -387,6 +397,7 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv) // process SessionIq // xmpp connection made + d->sessionStarted = true; emit connected(); } else if(QXmppBind::isBind(nodeRecv) && id == d->bindId) |
