QXmpp Version:0.3.91
QXmppReconnectionManager.h
00001 /*
00002  * Copyright (C) 2008-2011 The QXmpp developers
00003  *
00004  * Author:
00005  *  Manjeet Dahiya
00006  *
00007  * Source:
00008  *  http://code.google.com/p/qxmpp
00009  *
00010  * This file is a part of QXmpp library.
00011  *
00012  * This library is free software; you can redistribute it and/or
00013  * modify it under the terms of the GNU Lesser General Public
00014  * License as published by the Free Software Foundation; either
00015  * version 2.1 of the License, or (at your option) any later version.
00016  *
00017  * This library is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00020  * Lesser General Public License for more details.
00021  *
00022  */
00023 
00024 
00025 #ifndef QXMPPRECONNECTIONMANAGER_H
00026 #define QXMPPRECONNECTIONMANAGER_H
00027 
00028 #include <QObject>
00029 #include <QTimer>
00030 #include "QXmppClient.h"
00031 
00032 class QXmppReconnectionManager : public QObject
00033 {
00034     Q_OBJECT
00035 
00036 public:
00037     QXmppReconnectionManager(QXmppClient* client);
00038 
00039 signals:
00040     void reconnectingIn(int);
00041     void reconnectingNow();
00042 
00043 public slots:
00044     void cancelReconnection();
00045 
00046 private slots:
00047     void connected();
00048     void error(QXmppClient::Error);
00049     void reconnect();
00050 
00051 private:
00052     int getNextReconnectingInTime();
00053     bool m_receivedConflict;
00054     int m_reconnectionTries;
00055     QTimer m_timer;
00056 
00057     // reference to to client object (no ownership)
00058     QXmppClient* m_client;
00059 };
00060 
00061 #endif // QXMPPRECONNECTIONMANAGER_H
 All Classes Functions Enumerations Enumerator Properties