Website updated.
[irwi] / src / remote.h
index f6abb44..b59a495 100644 (file)
@@ -3,32 +3,55 @@
 
 #include <QObject>
 #include <QString>
+#include <QSettings>
 
-namespace Rating {
-    typedef bool Rating;
-    Rating Up = true;
-    Rating Down = false;
-}
+#include "rating.h"
 
-class Remote
+class QNetworkReply;
+class QNetworkAccessManager;
+
+class Remote : public QObject
 {
     Q_OBJECT
+
 public:
-    Remote(const QString &name);
+    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;
-    QString mfg() const;
-    int rating() const;
-    int voteCount() const;
+    QString name()  const { return m_name; }
+    QString mfg()   const { return m_mfg; }
+    int rating()    const { return m_rating; }
+    int voteCount() const { return m_voteCount; }
 
 public slots:
     void saveToFile();
     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;
+    QString m_mfg;
+    int m_rating;
+    int m_voteCount;
+
+    QNetworkAccessManager *m_infoNAM;
+    QNetworkAccessManager *m_remoteNAM;
+    QNetworkAccessManager *m_ratingNAM;
 };
 
 #endif