From 3da134b970a6f25a5e900bd2a55b03c5242378f0 Mon Sep 17 00:00:00 2001
From: Kevin Smith <git@kismith.co.uk>
Date: Sat, 14 Nov 2009 14:33:14 +0000
Subject: Reconnect automatically on error
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp
index c4d34d8..2ae110b 100644
--- a/Swift/Controllers/MainController.cpp
+++ b/Swift/Controllers/MainController.cpp
@@ -184,6 +184,11 @@ void MainController::handleEventQueueLengthChange(int count) {
application_->getApplicationMessageDisplay()->setMessage(count == 0 ? "" : boost::lexical_cast<std::string>(count).c_str());
}
+void MainController::reconnectAfterError() {
+ performLoginFromCachedCredentials();
+ sendPresence(queuedPresence_);
+}
+
void MainController::handleChangeStatusRequest(StatusShow::Type show, const String &statusText) {
boost::shared_ptr<Presence> presence(new Presence());
if (show == StatusShow::None) {
@@ -287,6 +292,9 @@ void MainController::handleError(const ClientError& error) {
loginWindow_->setMessage(message);
}
logout();
+ if (rosterController_) {
+ //reconnectAfterError();
+ }
}
void MainController::handleCancelLoginRequest() {
diff --git a/Swift/Controllers/MainController.h b/Swift/Controllers/MainController.h
index db6a110..df6901d 100644
--- a/Swift/Controllers/MainController.h
+++ b/Swift/Controllers/MainController.h
@@ -77,6 +77,7 @@ namespace Swift {
virtual bool isMUC(const JID& muc) const;
void performLoginFromCachedCredentials();
+ void reconnectAfterError();
void setManagersEnabled(bool enabled);
Client* client_;
ChatWindowFactory* chatWindowFactory_;
--
cgit v0.10.2-6-g49f6