- don't play sounds on initial update
[buliscores] / src / backendkicker.h
index 679fef8..3f246b9 100644 (file)
@@ -2,6 +2,8 @@
 #define BACKENDKICKER_H
 
 #include <QObject>
+#include <QTimer>
+#include <QNetworkAccessManager>
 #include <QNetworkReply>
 
 #include "matchdaybackend.h"
@@ -9,12 +11,8 @@
 class BackendKicker : public MatchDayBackend
 {
     Q_OBJECT
-private:
-    QList<Match*> m_matchlist;
-    QString       m_URL;
-
-    void parsePage (QString htmlstr);
 
+    // TODO clear matchlist on match day change!
 public:
     explicit BackendKicker(QObject *parent = 0);
 
@@ -22,16 +20,33 @@ public:
     QList<Match*> matchList();
 
     bool          selectLeague(QString league);
+    void          setAutomaticUpdate(bool);
 
 signals:
-    void matchListChanged(void);
+    void updateFinished(int);
     void updateStarted(void);
 
+public slots:
+    void update();
+
+private:
+    QList<Match*> m_matchlist;
+    QString       m_URL;
+    QDateTime     m_lastUpdate;
+    QTimer        m_updateTimer;
+    QNetworkAccessManager* m_netaccmgr;
+    bool          m_initialUpdateDone;
+
+    static const int INTERVAL_FAST;
+
+    void parsePage (QString htmlstr);
+    void parseScore(Match* match, QString scorehtml);
+    int secsToNextGame(void);
+
 private slots:
     void dlndFinished(QNetworkReply *reply);
 
-public slots:
-    void update();
+
 };
 
 #endif // BACKENDKICKER_H