summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-12-09 21:45:53 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-12-09 21:45:53 (GMT)
commit53e476d1c202119ddc87102208103675e47f9e43 (patch)
tree8d882982020fe515d8abc941c9c9ee2112e8cb1b /Swiften/Client/ClientSession.cpp
parent9bcba37ce570e0ca839cf3489fd9e34b3b5d44c8 (diff)
downloadswift-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.cpp4
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) {