diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-12-09 21:45:53 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-12-09 21:45:53 (GMT) |
commit | 53e476d1c202119ddc87102208103675e47f9e43 (patch) | |
tree | 8d882982020fe515d8abc941c9c9ee2112e8cb1b /Swiften/Client/ClientSession.cpp | |
parent | 9bcba37ce570e0ca839cf3489fd9e34b3b5d44c8 (diff) | |
download | swift-53e476d1c202119ddc87102208103675e47f9e43.zip swift-53e476d1c202119ddc87102208103675e47f9e43.tar.bz2 |
Handle stream errors in client session.
Diffstat (limited to 'Swiften/Client/ClientSession.cpp')
-rw-r--r-- | Swiften/Client/ClientSession.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp index 13816d3..a7f39b6 100644 --- a/Swiften/Client/ClientSession.cpp +++ b/Swiften/Client/ClientSession.cpp @@ -13,6 +13,7 @@ #include "Swiften/Elements/ProtocolHeader.h" #include "Swiften/Elements/StreamFeatures.h" +#include "Swiften/Elements/StreamError.h" #include "Swiften/Elements/StartTLSRequest.h" #include "Swiften/Elements/StartTLSFailure.h" #include "Swiften/Elements/TLSProceed.h" @@ -151,6 +152,9 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) { std::cerr << "Warning: Ignoring ack" << std::endl; } } + else if (StreamError::ref streamError = boost::dynamic_pointer_cast<StreamError>(element)) { + finishSession(Error::StreamError); + } else if (getState() == Initialized) { boost::shared_ptr<Stanza> stanza = boost::dynamic_pointer_cast<Stanza>(element); if (stanza) { |