Remote class implementation
[irwi] / src / remote.h
index f6abb44..a104ff1 100644 (file)
@@ -3,6 +3,8 @@
 
 #include <QObject>
 #include <QString>
+#include <QNetworkReply>
+#include <QNetworkAccessManager>
 
 namespace Rating {
     typedef bool Rating;
@@ -15,12 +17,14 @@ class Remote
     Q_OBJECT
 public:
     Remote(const QString &name);
+    Remote(const QString &name, const QString &mfg,
+            int rating, int voteCount);
 
     //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();
@@ -29,6 +33,21 @@ public slots:
 
 signals:
     void infoUpdated();
+
+private:
+    QString m_name;
+    QString m_mfg;
+    int m_rating;
+    int m_voteCount;
+
+    QNetworkAccessManager m_infoNAM;
+    QNetworkAccessManager m_remoteNAM;
+    QNetworkAccessManager m_ratingNAM;
+
+    void init();
+    
+    void Remote::remoteDownloadFinished(QNetworkReply *reply);
+    void Remote::infoRequestFinished(QNetworkReply *reply);
 };
 
 #endif