7 #include <QNetworkAccessManager>
8 #include <QNetworkRequest>
9 #include <QNetworkReply>
12 Remote::Remote(const QString &name)
22 Remote::Remote(const QString &name, const QString &mfg,
23 int rating, int voteCount)
24 : m_name(name), m_mfg(mfg),
25 m_rating(rating), m_voteCount(voteCount)
30 Remote::Remote(const Remote &r)
34 , m_rating(r.m_rating)
35 , m_voteCount(r.m_voteCount)
40 Remote &Remote::operator=(const Remote &other)
43 m_name = other.m_name;
45 m_rating = other.m_rating;
46 m_voteCount = other.m_voteCount;
53 connect(&m_remoteNAM, SIGNAL(finished(QNetworkReply*)),
54 this, SLOT(remoteDownloadFinished(QNetworkReply*)));
55 connect(&m_infoNAM, SIGNAL(finished(QNetworkReply*)),
56 this, SLOT(infoRequestFinished(QNetworkReply *)));
59 void Remote::saveToFile()
61 if (!m_name.isEmpty()) {
62 QString url = m_settings.value("remoteUrl",
63 "http://mercury.wipsl.com/irwi/uploaded/").toString()
65 m_remoteNAM.get(QNetworkRequest(QUrl(url)));
66 m_settings.setValue("remoteName", m_name);
70 void Remote::updateInfo()
72 if (!m_name.isEmpty()) {
73 QString url = m_settings.value("baseUrl",
74 "http://mercury.wipsl.com/irwi/").toString()
77 m_infoNAM.get(QNetworkRequest(QUrl(url)));
81 void Remote::sendRating(Rating::Rating r)
84 m_ratingNAM.get(QNetworkRequest(QUrl(
85 m_settings.value("baseUrl",
86 "http://mercury.wipsl.com/irwi/db.xml").toString()
88 + ((r == Rating::Up) ? "up" : "down")
94 void Remote::remoteDownloadFinished(QNetworkReply *reply)
96 if (reply->error() == QNetworkReply::NoError) {
97 QFile file(m_settings.value("lircConf", "/etc/lircd.conf").toString());
98 if(file.open(QIODevice::WriteOnly))
100 file.write(reply->readAll());
105 reply->deleteLater();
107 std::system("sudo /etc/init.d/lirc reload");
109 //emit remoteDownloaded();
112 void Remote::infoRequestFinished(QNetworkReply *reply)
114 if (reply->error() == QNetworkReply::NoError) {
115 m_rating = QString(reply->readLine(20)).toInt();
116 m_voteCount = QString(reply->readLine(20)).toInt();
119 reply->deleteLater();