QGeoSearchManagerEngineCm::QGeoSearchManagerEngineCm( const QMap<QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) : QGeoSearchManagerEngine(parameters), m_host("geocoding.cloudmade.com"), m_token(QGeoServiceProviderFactoryCm::defaultToken) { m_networkManager = new QNetworkAccessManager(this); QList<QString> keys = parameters.keys(); if (keys.contains("places.proxy")) { QString proxy = parameters.value("places.proxy").toString(); if (!proxy.isEmpty()) m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, proxy, 8080)); } if (keys.contains("places.host")) { QString host = parameters.value("places.host").toString(); if (!host.isEmpty()) m_host = host; } setSupportsGeocoding(true); setSupportsReverseGeocoding(true); QGeoSearchManager::SearchTypes supportedSearchTypes; supportedSearchTypes |= QGeoSearchManager::SearchLandmarks; supportedSearchTypes |= QGeoSearchManager::SearchGeocode; setSupportedSearchTypes(supportedSearchTypes); if (error) *error = QGeoServiceProvider::NoError; if (errorString) *errorString = ""; }
QGeoSearchManagerEngineNokia::QGeoSearchManagerEngineNokia(const QMap<QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) : QGeoSearchManagerEngine(parameters), m_host("loc.desktop.maps.svc.ovi.com"), m_token(QGeoServiceProviderFactoryNokia::defaultToken), m_referer(QGeoServiceProviderFactoryNokia::defaultReferer) { // Get manager from declarative factory or create a new one m_networkManager = QLocationNetworkAccessManagerFactory::instance()->create(this); if (parameters.contains("places.proxy")) { QString proxy = parameters.value("places.proxy").toString(); if (!proxy.isEmpty()) { QUrl proxyUrl(proxy); if (proxyUrl.isValid()) { m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, proxyUrl.host(), proxyUrl.port(8080), proxyUrl.userName(), proxyUrl.password())); } } } if (parameters.contains("places.host")) { QString host = parameters.value("places.host").toString(); if (!host.isEmpty()) m_host = host; } if (parameters.contains("places.referer")) { m_referer = parameters.value("places.referer").toString(); } if (parameters.contains("places.token")) { m_token = parameters.value("places.token").toString(); } else if (parameters.contains("token")) { m_token = parameters.value("token").toString(); } if (parameters.contains("places.app_id")) { m_applicationId = parameters.value("places.app_id").toString(); } else if (parameters.contains("app_id")) { m_applicationId = parameters.value("app_id").toString(); } setSupportsGeocoding(true); setSupportsReverseGeocoding(true); QGeoSearchManager::SearchTypes supportedSearchTypes; supportedSearchTypes |= QGeoSearchManager::SearchGeocode; setSupportedSearchTypes(supportedSearchTypes); if (error) *error = QGeoServiceProvider::NoError; if (errorString) *errorString = ""; #ifdef USE_CHINA_NETWORK_REGISTRATION connect(&m_networkInfo, SIGNAL(currentMobileCountryCodeChanged(const QString&)), SLOT(currentMobileCountryCodeChanged(const QString&))); currentMobileCountryCodeChanged(m_networkInfo.currentMobileCountryCode()); #endif }