Some fixes to connection manager.
[jenirok] / src / common / source.cpp
index 460f98e..0109f4a 100644 (file)
  */
 
 #include <QtCore/QDebug>
+#include <QtNetwork/QHttpResponseHeader>
 #include "source.h"
 #include "eniro.h"
 #include "mobil1881.h"
+#include "dastelefonbuch.h"
 
 namespace
 {
     static const QString SOURCE_NAMES[Source::SOURCE_COUNT] =
     {
          "Eniro (FI, SE, DK)",
-         "1881 Mobil (NO)"
+         "1881 Mobil (NO)",
+         "Das Telefonbuch (DE)"
     };
 
     static const QString SOURCE_IDS[Source::SOURCE_COUNT] =
     {
          "eniro",
-         "1881mobil"
+         "1881mobil",
+         "dastelefonbuch"
     };
 
 }
@@ -53,6 +57,9 @@ Source* Source::getSource(Source::SourceId id, QObject* parent)
     case MOBIL1881:
         return new Mobil1881(parent);
         break;
+    case DASTELEFONBUCH:
+        return new DasTelefonbuch(parent);
+        break;
     default:
         qDebug() << "Unknown source:" << id;
     }
@@ -112,6 +119,13 @@ unsigned int Source::getMaxResults() const
     return maxResults_;
 }
 
+void Source::getSearchTypes(QList<SearchType>& types) const
+{
+    types.clear();
+    types.push_back(PERSONS);
+    types.push_back(YELLOW_PAGES);
+}
+
 void Source::setTimeout(unsigned int timeout)
 {
     timeout_ = timeout;
@@ -168,6 +182,7 @@ void Source::setError(Source::Error error, QString const& errorString)
 
 void Source::httpReady(int id, bool error)
 {
+    QByteArray result = http_.readAll();
 
     if(error)
     {
@@ -181,7 +196,6 @@ void Source::httpReady(int id, bool error)
     }
     else
     {
-        QByteArray result = http_.readAll();
         handleHttpData(id, result);
     }
 }
@@ -294,7 +308,7 @@ QString& Source::htmlEntityDecode(QString& string)
         38,
         60,
         62,
-        160,
+        32,
         192,
         193,
         194,