1 #include "updatechecker.h"
2 #include "networkaccess.h"
9 UpdateChecker::UpdateChecker() {
13 void UpdateChecker::checkForUpdate() {
14 QUrl updateUrl(QString(Constants::WEBSITE) + "-ws/release.xml");
15 // QUrl updateUrl("http://flavio.tordini.org:8012/release.xml");
17 QObject *reply = The::http()->get(updateUrl);
18 connect(reply, SIGNAL(data(QByteArray)), SLOT(requestFinished(QByteArray)));
22 void UpdateChecker::requestFinished(QByteArray data) {
23 UpdateCheckerStreamReader reader;
25 m_needUpdate = reader.needUpdate();
26 m_remoteVersion = reader.remoteVersion();
27 if (m_needUpdate) emit newVersion(m_remoteVersion);
30 QString UpdateChecker::remoteVersion() {
31 return m_remoteVersion;
36 bool UpdateCheckerStreamReader::read(QByteArray data) {
41 if (isStartElement()) {
42 if (name() == "release") {
45 if (isStartElement() && name() == "version") {
46 QString remoteVersion = readElementText();
47 qDebug() << remoteVersion << QString(Constants::VERSION);
48 m_needUpdate = remoteVersion != QString(Constants::VERSION);
49 m_remoteVersion = remoteVersion;
60 QString UpdateCheckerStreamReader::remoteVersion() {
61 return m_remoteVersion;