From: Torste Aikio Date: Fri, 18 Jun 2010 08:25:47 +0000 (+0300) Subject: Remote class implementation X-Git-Url: https://vcs.maemo.org/git/?p=irwi;a=commitdiff_plain;h=e45eb3c07cfc3d600e2661b4e646e22187418778 Remote class implementation --- diff --git a/src/remote.cpp b/src/remote.cpp index 7ebab5a..b6d623b 100644 --- a/src/remote.cpp +++ b/src/remote.cpp @@ -1,103 +1,48 @@ -#include "irctrl.h" #include "remote.h" -#include "netio.h" +#include #include +#include +#include +#include -Remote::Remote() - : rated(false) - , model("", "") - , settings(new QSettings()) - , irCtrl(new IrCtrl()) - , netIO(NULL) +Remote::Remote(const Remote::QString &name) + : m_name(name) { } -Remote::Remote(const QString &id, NetIO *netIO) - : rated(false) - , settings(new QSettings()) - , irCtrl(new IrCtrl()) - , netIO(netIO) +Remote::Remote(const QString &name, const QString &mfg, + int rating, int voteCount) + : m_name(name), m_mfg(mfg), + m_rating(rating), m_voteCount(voteCount) { - setId(id); } -Remote::~Remote() +void Remote::saveToFile() { - delete settings; - delete irCtrl; } -const QString &Remote::id() const -{ - return model.id; -} - -void Remote::setId(const QString &id) -{ - model.id = id; -} - -void Remote::setNetIO(NetIO *netIO) -{ - this->netIO = netIO; -} - -void Remote::updateRating() -{ - connect(netIO, SIGNAL(ratingDownloaded(int)), - this, SIGNAL(ratingChanged(int))); - netIO->ratingById(model.id); -} - -void Remote::sendRating(bool) +void Remote::updateInfo() { + QSettings settings; + if (m_name != "") { + m_infoNAM->get(QNetworkRequest(QUrl( + settings.value("baseUrl").toString() + + "vote/get?name=" + + m_name ))); + } } -void Remote::sendCmd(RemoteCmd cmd) +void Remote::sendRating(Rating::Rating r) { - switch (cmd) - { - case VOLUMEUP: - irCtrl->sendCmd( - model.name, - settings->value("cmdVolumeUp", "VOLUP").toString()); - break; - - case VOLUMEDOWN: - irCtrl->sendCmd( - model.name, - settings->value("cmdVolumeDown", "VOLUP").toString()); - break; - - case CHANNELUP: - irCtrl->sendCmd( - model.name, - settings->value("cmdChannelUp", "CHUP").toString()); - break; - - case CHANNELDOWN: - irCtrl->sendCmd( - model.name, - settings->value("cmdChannelDown", "CHDOWN").toString()); - break; - - case POWER: - irCtrl->sendCmd( - model.name, - settings->value("cmdPower", "POWER").toString()); - break; - - case MUTE: - irCtrl->sendCmd( - model.name, - settings->value("cmdMute", "MUTE").toString()); - break; - - default: - break; + QSettings settings; + if (m_name != "") { + m_ratingNAM->get(QNetworkRequest(QUrl( + settings.value("baseUrl").toString() + + "vote/" + + r == Rating::Up ? "up" : "down" + + "?name=" + + m_name ))); } } - - diff --git a/src/remote.h b/src/remote.h index f6abb44..a104ff1 100644 --- a/src/remote.h +++ b/src/remote.h @@ -3,6 +3,8 @@ #include #include +#include +#include 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