Rating is now updated immediately after pressing rating buttons
[irwi] / src / remote.h
index 4619246..b59a495 100644 (file)
@@ -3,22 +3,25 @@
 
 #include <QObject>
 #include <QString>
-#include <QNetworkReply>
-#include <QNetworkAccessManager>
+#include <QSettings>
 
-namespace Rating {
-    typedef bool Rating;
-    Rating Up = true;
-    Rating Down = false;
-}
+#include "rating.h"
+
+class QNetworkReply;
+class QNetworkAccessManager;
 
 class Remote : public QObject
 {
     Q_OBJECT
+
 public:
-    Remote(const QString &name);
-    Remote(const QString &name, const QString &mfg,
-            int rating, int voteCount);
+    Remote();
+    Remote(const QString &name, const QString &mfg = "",
+            int rating = 0, int voteCount = 0);
+    Remote(const Remote &);
+    Remote &operator=(const Remote &);
+    bool operator==(const Remote &other) const;
+    ~Remote();
 
     //getters
     QString name()  const { return m_name; }
@@ -31,8 +34,14 @@ public slots:
     void updateInfo();
     void sendRating(Rating::Rating);
 
+private slots:
+    void remoteDownloadFinished(QNetworkReply *reply);
+    void infoRequestFinished(QNetworkReply *reply);
+
 signals:
     void infoUpdated();
+    void saveFinished();
+    void ratingSent();
 
 private:
     QString m_name;
@@ -40,14 +49,9 @@ private:
     int m_rating;
     int m_voteCount;
 
-    QNetworkAccessManager m_infoNAM;
-    QNetworkAccessManager m_remoteNAM;
-    QNetworkAccessManager m_ratingNAM;
-
-    void init();
-    
-    void remoteDownloadFinished(QNetworkReply *reply);
-    void infoRequestFinished(QNetworkReply *reply);
+    QNetworkAccessManager *m_infoNAM;
+    QNetworkAccessManager *m_remoteNAM;
+    QNetworkAccessManager *m_ratingNAM;
 };
 
 #endif