7 #include <QNetworkAccessManager>
8 #include <QNetworkRequest>
9 #include <QNetworkReply>
12 Remote::Remote(const QString &name)
19 Remote::Remote(const QString &name, const QString &mfg,
20 int rating, int voteCount)
21 : m_name(name), m_mfg(mfg),
22 m_rating(rating), m_voteCount(voteCount)
27 Remote::Remote(const Remote &r)
30 , m_rating(r.m_rating)
31 , m_voteCount(r.m_voteCount)
36 Remote &Remote::operator=(const Remote &other)
39 m_name = other.m_name;
41 m_rating = other.m_rating;
42 m_voteCount = other.m_voteCount;
49 connect(&m_remoteNAM, SIGNAL(finished(QNetworkReply*)),
50 this, SLOT(remoteDownloadFinished(QNetworkReply*)));
51 connect(&m_infoNAM, SIGNAL(finished(QNetworkReply*)),
52 this, SLOT(infoRequestFinished(QNetworkReply *reply)));
55 void Remote::saveToFile()
57 if (!m_name.isEmpty()) {
58 QString url = m_settings.value("remoteUrl",
59 "http://mercury.wipsl.com/irwi/uploaded/").toString()
61 m_remoteNAM.get(QNetworkRequest(QUrl(url)));
62 m_settings.setValue("remoteName", m_name);
66 void Remote::updateInfo()
68 if (!m_name.isEmpty()) {
69 QString url = m_settings.value("baseUrl",
70 "http://mercury.wipsl.com/irwi/").toString()
73 m_infoNAM.get(QNetworkRequest(QUrl(url)));
77 void Remote::sendRating(Rating::Rating r)
80 m_ratingNAM.get(QNetworkRequest(QUrl(
81 m_settings.value("baseUrl",
82 "http://mercury.wipsl.com/irwi/db.xml").toString()
84 + ((r == Rating::Up) ? "up" : "down")
90 void Remote::remoteDownloadFinished(QNetworkReply *reply)
92 if (reply->error() == QNetworkReply::NoError) {
93 QFile file(m_settings.value("lircConf", "/etc/lircd.conf").toString());
94 if(file.open(QIODevice::WriteOnly))
96 file.write(reply->readAll());
101 reply->deleteLater();
103 std::system("sudo /etc/init.d/lirc reload");
105 //emit remoteDownloaded();
108 void Remote::infoRequestFinished(QNetworkReply *reply)
110 if (reply->error() == QNetworkReply::NoError) {
111 m_rating = QString(reply->readLine(20)).toInt();
112 m_voteCount = QString(reply->readLine(20)).toInt();
115 reply->deleteLater();