aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppReconnectionManager.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-08-11 07:31:23 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-08-11 07:31:23 +0000
commit40c39853816cfab113d79682c34bc76a2c79c357 (patch)
treee4d6a184cf565cb87477339ce738299ff9787bc3 /source/QXmppReconnectionManager.cpp
parent551c284e35280b7b91a939fe7352e496ffea402a (diff)
downloadqxmpp-40c39853816cfab113d79682c34bc76a2c79c357.tar.gz
rename "source" directory to "src"
Diffstat (limited to 'source/QXmppReconnectionManager.cpp')
-rw-r--r--source/QXmppReconnectionManager.cpp101
1 files changed, 0 insertions, 101 deletions
diff --git a/source/QXmppReconnectionManager.cpp b/source/QXmppReconnectionManager.cpp
deleted file mode 100644
index 615d47a5..00000000
--- a/source/QXmppReconnectionManager.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2008-2010 The QXmpp developers
- *
- * Author:
- * Manjeet Dahiya
- *
- * Source:
- * http://code.google.com/p/qxmpp
- *
- * This file is a part of QXmpp library.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- */
-
-
-#include "QXmppReconnectionManager.h"
-#include "QXmppClient.h"
-#include "QXmppLogger.h"
-#include "QXmppUtils.h"
-
-QXmppReconnectionManager::QXmppReconnectionManager(QXmppClient* client) :
- QObject(client),
- m_receivedConflict(false),
- m_reconnectionTries(0),
- m_timer(this),
- m_client(client)
-{
- m_timer.setSingleShot(true);
- bool check = connect(&m_timer, SIGNAL(timeout()), SLOT(reconnect()));
- Q_ASSERT(check);
- Q_UNUSED(check);
-}
-
-void QXmppReconnectionManager::connected()
-{
- m_receivedConflict = false;
- m_reconnectionTries = 0;
-}
-
-void QXmppReconnectionManager::error(QXmppClient::Error error)
-{
- if(m_client && error == QXmppClient::XmppStreamError)
- {
- // if we receive a resource conflict, inhibit reconnection
- if(m_client->xmppStreamError() == QXmppStanza::Error::Conflict)
- m_receivedConflict = true;
- }
- else if(m_client && error == QXmppClient::SocketError && !m_receivedConflict)
- {
- int time = getNextReconnectingInTime();
-
- // time is in sec
- m_timer.start(time*1000);
- emit reconnectingIn(time);
- }
- else if (m_client && error == QXmppClient::KeepAliveError)
- {
- // if we got a keepalive error, reconnect in one second
- m_timer.start(1000);
- }
-}
-
-int QXmppReconnectionManager::getNextReconnectingInTime()
-{
- int reconnectingIn;
- if(m_reconnectionTries < 5)
- reconnectingIn = 10;
- else if(m_reconnectionTries < 10)
- reconnectingIn = 20;
- else if(m_reconnectionTries < 15)
- reconnectingIn = 40;
- else
- reconnectingIn = 60;
-
- return reconnectingIn;
-}
-
-void QXmppReconnectionManager::reconnect()
-{
- if(m_client)
- {
- emit reconnectingNow();
- m_client->connectToServer(m_client->configuration(), m_client->clientPresence());
- }
-}
-
-void QXmppReconnectionManager::cancelReconnection()
-{
- m_timer.stop();
- m_receivedConflict = false;
- m_reconnectionTries = 0;
-}