QGeoMapReplyOsm::QGeoMapReplyOsm(QNetworkReply *reply, const QGeoTileSpec &spec, QObject *parent) : QGeoTiledMapReply(spec, parent), m_reply(reply) { connect(m_reply, SIGNAL(finished()), this, SLOT(networkReplyFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkReplyError(QNetworkReply::NetworkError))); connect(m_reply, SIGNAL(destroyed()), this, SLOT(replyDestroyed())); }
QGeoCodeReplyQGC::QGeoCodeReplyQGC(QNetworkReply *reply, QObject *parent) : QGeoCodeReply(parent), m_reply(reply) { connect(m_reply, &QNetworkReply::finished, this, &QGeoCodeReplyQGC::networkReplyFinished); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkReplyError(QNetworkReply::NetworkError))); setLimit(1); setOffset(0); }
QGeoTiledMapReplyGoogle::QGeoTiledMapReplyGoogle(QNetworkReply *reply, const QGeoTileSpec &spec, const QString &format, QObject *parent) : QGeoTiledMapReply(spec, parent), m_format(format), m_reply(reply) { connect(m_reply, SIGNAL(finished()), this, SLOT(networkReplyFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkReplyError(QNetworkReply::NetworkError))); }
QT_BEGIN_NAMESPACE QGeoCodeReplyOsm::QGeoCodeReplyOsm(QNetworkReply *reply, QObject *parent) : QGeoCodeReply(parent), m_reply(reply) { connect(m_reply, SIGNAL(finished()), this, SLOT(networkReplyFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkReplyError(QNetworkReply::NetworkError))); setLimit(1); setOffset(0); }
/** * Method that does a http GET request. Returns the unique QNetworkReply * instance for this transaction to the plugin manager to trace the * proper response. * @param aRequest The request formed by the plugin * @param aUrlList The list of accessible Urls for this plugin * @param aSOPCompliant [out] Output parameter indicating Same Origin * Policy Compliance. Contains true if the request complies to the policy, * else false. If it is false, the network request will not performed * @return The unique QNetworkReply instance for this transaction */ QNetworkReply* SmfTransportManagerUtil::get ( QNetworkRequest &aRequest, const QList<QUrl> &aUrlList, bool &aSOPCompliant ) { qDebug()<<"Inside SmfTransportManagerUtil::get()";; bool found = false; QString hostName = aRequest.url().host(); // Same Origin Policy checking // Check if the host name of the url in the request created by the // plugin is among the authorised url host name list foreach(QUrl url, aUrlList) { if(0 == hostName.compare(url.host())) { found = true; break; } } if(found) { aSOPCompliant = true; // Set header to accept gzip encoded data aRequest.setRawHeader("Accept-encoding", kSmfAcceptEncoding); // Set the cache control aRequest.setRawHeader("Cache-Control", kSmfCacheControl); // Put the same user agent for all requests sent by Smf aRequest.setRawHeader("User-Agent", kSmfUserAgent); QNetworkReply* reply = m_networkAccessManager.get(aRequest); qDebug()<<"QNetworkReply of get() = "<<(long)reply; connect(&m_networkAccessManager, SIGNAL(finished(QNetworkReply *)), this, SLOT(networkReplyFinished(QNetworkReply *))); connect(&m_networkAccessManager, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkReplyError(QNetworkReply::NetworkError))); m_activeNetwReplyList.append(reply); return reply; } else {
QGeoMapReplyQGC::QGeoMapReplyQGC(QNetworkReply *reply, const QGeoTileSpec &spec, QObject *parent) : QGeoTiledMapReply(spec, parent) , m_reply(reply) { if(!reply) { setError(QGeoTiledMapReply::UnknownError, "Invalid tile request"); setFinished(true); } else { connect(m_reply, SIGNAL(finished()), this, SLOT(networkReplyFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkReplyError(QNetworkReply::NetworkError))); connect(m_reply, SIGNAL(destroyed()), this, SLOT(replyDestroyed())); } }
//----------------------------------------------------------------------------- void QGeoTiledMapReplyQGC::cacheError(QGCMapTask::TaskType type, QString /*errorString*/) { if(type != QGCMapTask::taskFetchTile) { qWarning() << "QGeoTiledMapReplyQGC::cacheError() for wrong task"; } //-- Tile not in cache. Get it off the Internet. QNetworkProxy proxy = _networkManager->proxy(); QNetworkProxy tProxy; tProxy.setType(QNetworkProxy::DefaultProxy); _networkManager->setProxy(tProxy); _reply = _networkManager->get(_request); _reply->setParent(0); connect(_reply, SIGNAL(finished()), this, SLOT(networkReplyFinished())); connect(_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkReplyError(QNetworkReply::NetworkError))); connect(_reply, SIGNAL(destroyed()), this, SLOT(replyDestroyed())); _networkManager->setProxy(proxy); }