More implementation
[irwi] / src / remote.h
1 #ifndef REMOTE_H
2 #define REMOTE_H
3
4 #include <QObject>
5 #include <QString>
6 #include <QNetworkReply>
7 #include <QNetworkAccessManager>
8 #include <QSettings>
9
10 #include "rating.h"
11
12 class Remote : public QObject
13 {
14     Q_OBJECT
15
16 public:
17     Remote();
18     Remote(const QString &name, const QString &mfg = "",
19             int rating = 0, int voteCount = 0);
20     Remote(const Remote &);
21     Remote &operator=(const Remote &);
22     ~Remote();
23
24     //getters
25     QString name()  const { return m_name; }
26     QString mfg()   const { return m_mfg; }
27     int rating()    const { return m_rating; }
28     int voteCount() const { return m_voteCount; }
29
30 public slots:
31     void saveToFile();
32     void updateInfo();
33     void sendRating(Rating::Rating);
34
35 private slots:
36     void remoteDownloadFinished(QNetworkReply *reply);
37     void infoRequestFinished(QNetworkReply *reply);
38
39 signals:
40     void infoUpdated();
41     void saveFinished();
42
43 private:
44     QString m_name;
45     QString m_mfg;
46     int m_rating;
47     int m_voteCount;
48
49     QNetworkAccessManager *m_infoNAM;
50     QNetworkAccessManager *m_remoteNAM;
51     QNetworkAccessManager *m_ratingNAM;
52 };
53
54 #endif
55