diff --git a/src/modules/locale/GeoIP.h b/src/modules/locale/GeoIP.h index b3d84c118..c84a9b5e4 100644 --- a/src/modules/locale/GeoIP.h +++ b/src/modules/locale/GeoIP.h @@ -23,7 +23,7 @@ #include #include -class QNetworkReply; +class QByteArray; /** * @brief Interface for GeoIP retrievers. @@ -47,7 +47,7 @@ struct GeoIP * likes. On error, returns a RegionZonePair with empty * strings (e.g. ( "", "" ) ). */ - virtual RegionZonePair processReply( QNetworkReply* ) = 0; + virtual RegionZonePair processReply( const QByteArray& ) = 0; /** @brief Splits a region/zone string into a pair. */ static RegionZonePair splitTZString( const QString& s ); diff --git a/src/modules/locale/GeoIPFreeGeoIP.cpp b/src/modules/locale/GeoIPFreeGeoIP.cpp index d7e724145..9ef534a5d 100644 --- a/src/modules/locale/GeoIPFreeGeoIP.cpp +++ b/src/modules/locale/GeoIPFreeGeoIP.cpp @@ -22,15 +22,13 @@ #include "utils/Logger.h" #include "utils/YamlUtils.h" -#include +#include #include GeoIP::RegionZonePair -FreeGeoIP::processReply( QNetworkReply* reply ) +FreeGeoIP::processReply( const QByteArray& data ) { - QByteArray data = reply->readAll(); - try { YAML::Node doc = YAML::Load( data ); diff --git a/src/modules/locale/GeoIPFreeGeoIP.h b/src/modules/locale/GeoIPFreeGeoIP.h index 474ce8496..e8986db3f 100644 --- a/src/modules/locale/GeoIPFreeGeoIP.h +++ b/src/modules/locale/GeoIPFreeGeoIP.h @@ -31,7 +31,7 @@ */ struct FreeGeoIP : public GeoIP { - virtual RegionZonePair processReply( QNetworkReply* ); + virtual RegionZonePair processReply( const QByteArray& ); } ; #endif diff --git a/src/modules/locale/GeoIPXML.cpp b/src/modules/locale/GeoIPXML.cpp index 0b52c9612..1bba559d0 100644 --- a/src/modules/locale/GeoIPXML.cpp +++ b/src/modules/locale/GeoIPXML.cpp @@ -24,13 +24,13 @@ #include GeoIP::RegionZonePair -XMLGeoIP::processReply( QNetworkReply* reply ) +XMLGeoIP::processReply( const QByteArray& data ) { QString domError; int errorLine, errorColumn; QDomDocument doc; - if ( doc.setContent( reply->readAll(), false, &domError, &errorLine, &errorColumn ) ) + if ( doc.setContent( data, false, &domError, &errorLine, &errorColumn ) ) { const auto tzElements = doc.elementsByTagName( "TimeZone" ); cDebug() << "GeoIP found" << tzElements.length() << "elements"; diff --git a/src/modules/locale/GeoIPXML.h b/src/modules/locale/GeoIPXML.h index d83a46daa..8eec22a75 100644 --- a/src/modules/locale/GeoIPXML.h +++ b/src/modules/locale/GeoIPXML.h @@ -30,7 +30,7 @@ */ struct XMLGeoIP : public GeoIP { - virtual RegionZonePair processReply( QNetworkReply* ); + virtual RegionZonePair processReply( const QByteArray& ); } ; #endif diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 7eaaebbf8..04870ff76 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -122,7 +122,7 @@ LocaleViewStep::fetchGeoIpTimezone() { if ( reply->error() == QNetworkReply::NoError ) { - auto tz = handler->processReply( reply ); + auto tz = handler->processReply( reply->readAll() ); if ( !tz.first.isEmpty() ) m_startingTimezone = tz; }