diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-26 17:01:09 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-26 17:01:09 +0000 |
| commit | 239b2b15c3cfd9e4d7cc085ed31645d6ae6942ee (patch) | |
| tree | 928a71086a6d328c97ffc468ba4ceb41fc7b6043 /source/QXmppReconnectionManager.cpp | |
| parent | f988517a9ba9d9a7753270f1cb0c4c2212c7ac22 (diff) | |
| download | qxmpp-239b2b15c3cfd9e4d7cc085ed31645d6ae6942ee.tar.gz | |
Fix for
Issue 23: QXmppBind compilation error on macosx starting from r23
Issue 26: examples fail to link on macosx and linux
Issue 24: all text files should have the svn property eol-style set
Contributed by: Marco Molteni
Diffstat (limited to 'source/QXmppReconnectionManager.cpp')
| -rw-r--r-- | source/QXmppReconnectionManager.cpp | 172 |
1 files changed, 86 insertions, 86 deletions
diff --git a/source/QXmppReconnectionManager.cpp b/source/QXmppReconnectionManager.cpp index 32edf41c..c135860b 100644 --- a/source/QXmppReconnectionManager.cpp +++ b/source/QXmppReconnectionManager.cpp @@ -1,86 +1,86 @@ -/*
- * Copyright (C) 2008-2009 Manjeet Dahiya
- *
- * 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 "QXmppUtils.h"
-
-QXmppReconnectionManager::QXmppReconnectionManager(QXmppClient* client) :
- QObject(client),
- 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);
-}
-
-void QXmppReconnectionManager::connected()
-{
- m_reconnectionTries = 0;
-}
-
-void QXmppReconnectionManager::error(QXmppClient::Error error)
-{
- if(m_client && error == QXmppClient::SocketError)
- {
- int time = getNextReconnectingInTime();
-
- // time is in sec
- m_timer.start(time*1000);
- emit reconnectingIn(time);
- }
-}
-
-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)
- {
- log(QString("QXmppReconnectionManager::reconnect()"));
- emit reconnectingNow();
- m_client->connectToServer(m_client->getConfiguration());
- }
-}
-
-void QXmppReconnectionManager::cancelReconnection()
-{
- m_timer.stop();
- m_reconnectionTries = 0;
-}
+/* + * Copyright (C) 2008-2009 Manjeet Dahiya + * + * 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 "QXmppUtils.h" + +QXmppReconnectionManager::QXmppReconnectionManager(QXmppClient* client) : + QObject(client), + 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); +} + +void QXmppReconnectionManager::connected() +{ + m_reconnectionTries = 0; +} + +void QXmppReconnectionManager::error(QXmppClient::Error error) +{ + if(m_client && error == QXmppClient::SocketError) + { + int time = getNextReconnectingInTime(); + + // time is in sec + m_timer.start(time*1000); + emit reconnectingIn(time); + } +} + +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) + { + log(QString("QXmppReconnectionManager::reconnect()")); + emit reconnectingNow(); + m_client->connectToServer(m_client->getConfiguration()); + } +} + +void QXmppReconnectionManager::cancelReconnection() +{ + m_timer.stop(); + m_reconnectionTries = 0; +} |
