]> Some of my projects - localmylist.git/commitdiff
AniOni should fail requests every now and then
authorAPTX <marek321@gmail.com>
Tue, 24 Jul 2012 20:02:34 +0000 (22:02 +0200)
committerAPTX <marek321@gmail.com>
Tue, 24 Jul 2012 20:02:34 +0000 (22:02 +0200)
anioni/anioni.cpp
anioni/anioni.h

index b478ab18b567d05f05a571875116e39ec182b6d8..e65d877e7b8a5c0f43df03974af131353c731547 100644 (file)
@@ -14,6 +14,7 @@ AniOni::AniOni(int argc, char **argv) :
        runUdpClient = false;
        runRenameHandler = false;
        watchDirectories = false;
+       requestFailTimer = 0;
 }
 
 void AniOni::handleUdpClientError()
@@ -59,6 +60,13 @@ void AniOni::handleUdpClientError()
        }
 }
 
+void AniOni::failRequests()
+{
+       log("Clearing failed Requests", QtServiceBase::Information);
+       LocalMyList::instance()->database()->clearFailedPendingRequests();
+       LocalMyList::instance()->database()->clearFailedPendingMyListUpdateRequests();
+}
+
 void AniOni::start()
 {
 #if defined(Q_OS_WIN)
@@ -116,6 +124,14 @@ void AniOni::start()
                application()->exit(1);
                return;
        }
+
+       if (!requestFailTimer)
+               requestFailTimer = new QTimer(this);
+
+       requestFailTimer->setSingleShot(false);
+       requestFailTimer->setInterval(10 * 60 * 1000);
+       connect(requestFailTimer, SIGNAL(timeout()), this, SLOT(failRequests()));
+       requestFailTimer->start();
 }
 
 void AniOni::loadSettings(QSettings &s)
index d0eaa60122be3c393784c8b9954429c9d007c755..d618209eb73e0c46435c4ab3b2e25e86c2ca552f 100644 (file)
@@ -4,6 +4,8 @@
 #include <QtServiceBase>
 #include <QSettings>
 
+class QTimer;
+
 class AniOni : public QObject, public QtService<QCoreApplication>
 {
        Q_OBJECT
@@ -16,7 +18,8 @@ public slots:
 
 protected slots:
        void handleUdpClientError();
-       
+       void failRequests();
+
 protected:
        void start();
 
@@ -27,6 +30,8 @@ private:
        bool runUdpClient;
        bool runRenameHandler;
        bool watchDirectories;
+
+       QTimer *requestFailTimer;
 };
 
 #endif // ANIONI_H