Removed onlinepollerthread
[irwi] / src / remotedbmgr.cpp
index 3e517e4..476a804 100644 (file)
 #include <QBuffer>
 #include <QByteArray>
 
+#include <QDebug>
+
 RemoteDBMgr::RemoteDBMgr()
 {
     connect(&netAM, SIGNAL(finished(QNetworkReply *)), 
-            this,  SLOT(dbDownloadFinished(QNetworkReply *)));
+            this, SLOT(dbDownloadFinished(QNetworkReply *)));
 }
 
 RemoteDBMgr::~RemoteDBMgr()
 {
+    foreach(MfgMap mfgMap, db.values()) {
+        foreach(RemoteList list, mfgMap.values()) {
+            qDeleteAll(list);
+        }
+    }
 }
 
 void RemoteDBMgr::getDBAsync()
 {
     if (db.isEmpty()) {
         QSettings settings(this);
-        netAM.get(QNetworkRequest(QUrl(settings.value("dbUrl",
-            "http://mercury.wipsl.com/irwi/db/db.xml").toString())));
+        netAM.get(QNetworkRequest(QUrl(settings.value("baseUrl",
+            "http://mercury.wipsl.com/irwi/").toString() + "db/db.xml")));
     } else {
         emit dbReady(&db);
     }
@@ -46,6 +53,8 @@ void RemoteDBMgr::dbDownloadFinished(QNetworkReply *reply)
         if (!db.isEmpty()) {
             emit dbReady(&db);
         }
+    } else {
+        qDebug() << reply->error();
     }
 }
 
@@ -86,14 +95,13 @@ RemoteList RemoteDBMgr::parseRemotes(QDomElement &mfgEl)
     for (int i = 0; i < models.size(); ++i) {
         QDomElement modelEl = models.at(i).toElement();
         if (!modelEl.isNull()) {
-            if (modelEl.hasAttribute("id")
-                && modelEl.hasAttribute("name")
+            if (modelEl.hasAttribute("name")
                 && modelEl.hasAttribute("rating")
                 && modelEl.hasAttribute("vote_count")) {
-                remotes << Remote(modelEl.attribute("name"),
-                                  modelEl.attribute("id"),
-                                  modelEl.attribute("rating").toInt(),
-                                  modelEl.attribute("vote_count").toInt());
+                remotes << new Remote(modelEl.attribute("name"),
+                                      mfgEl.attribute("id"),
+                                      modelEl.attribute("rating").toInt(),
+                                      modelEl.attribute("vote_count").toInt());
             }
         }
     }