summaryrefslogtreecommitdiffstats
path: root/src/plugins/geoservices/nokia
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/geoservices/nokia')
-rw-r--r--src/plugins/geoservices/nokia/nokia_plugin.json2
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp33
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp68
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h2
-rw-r--r--src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp61
-rw-r--r--src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h3
-rw-r--r--src/plugins/geoservices/nokia/uri_constants.cpp6
-rw-r--r--src/plugins/geoservices/nokia/uri_constants.h2
8 files changed, 119 insertions, 58 deletions
diff --git a/src/plugins/geoservices/nokia/nokia_plugin.json b/src/plugins/geoservices/nokia/nokia_plugin.json
index 4f6d6316..eb6fa68d 100644
--- a/src/plugins/geoservices/nokia/nokia_plugin.json
+++ b/src/plugins/geoservices/nokia/nokia_plugin.json
@@ -1,7 +1,7 @@
{
"Keys": ["nokia"],
"Provider": "nokia",
- "Version": 100,
+ "Version": 101,
"Experimental": false,
"Features": [
"OnlineRoutingFeature",
diff --git a/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp b/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp
index 010da22f..823764ba 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp
@@ -69,7 +69,7 @@ QT_BEGIN_NAMESPACE
*/
QGeoTiledMapDataNokia::QGeoTiledMapDataNokia(QGeoTiledMappingManagerEngineNokia *engine, QObject *parent /*= 0*/) :
QGeoTiledMapData(engine, parent),
- logo(":/images/logo.png"), // Nokia logo image
+ logo(":/images/logo.png"), // HERE logo image
copyrightsSlab(1, 1, QImage::Format_ARGB32) {}
QGeoTiledMapDataNokia::~QGeoTiledMapDataNokia() {}
@@ -77,7 +77,7 @@ QGeoTiledMapDataNokia::~QGeoTiledMapDataNokia() {}
void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visibleTiles)
{
const int copyrightsMargin = 10;
- const int shadowWidth = 2;
+ const int shadowWidth = 3;
const int fontSize = 10;
QGeoTiledMappingManagerEngineNokia *engineNokia = static_cast<QGeoTiledMappingManagerEngineNokia *>(engine());
@@ -90,9 +90,10 @@ void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visible
copyrightsSlab.fill(Qt::transparent);
QPainter painter(&copyrightsSlab);
- painter.drawImage(QPoint(1, 1), logo);
+ painter.drawImage(QPoint(0, copyrightsSlab.height() - logo.height()), logo);
QColor fontColor(Qt::black);
+ fontColor.setAlpha(64);
QFont font("Sans Serif");
font.setPixelSize(fontSize);
font.setStyleHint(QFont::SansSerif);
@@ -100,21 +101,21 @@ void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visible
painter.setFont(font);
painter.setPen(fontColor);
- QRect textLimitsRect(0,
- logo.height(),
- copyrightsSlab.width() - (copyrightsMargin * 2),
- copyrightsSlab.height() - logo.height());
+ QRect textLimitsRect(logo.width(),
+ 0,
+ copyrightsSlab.width() - (logo.width() + copyrightsMargin * 2),
+ copyrightsSlab.height());
// Drawing the copyrights base shadow (watermark)
QRect textBoundingRect;
QRect wmRect(textLimitsRect);
int x, y;
for (x = 0; x < shadowWidth; x++) {
- wmRect.setLeft(textLimitsRect.left() + x*shadowWidth);
+ wmRect.setLeft(textLimitsRect.left() + x);
for (y = 0; y < shadowWidth; y++) {
- wmRect.setTop(textLimitsRect.top() + y*shadowWidth);
+ wmRect.setBottom(textLimitsRect.bottom() - y);
painter.drawText(wmRect,
- Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap,
+ Qt::AlignLeft | Qt::AlignBottom | Qt::TextWordWrap,
copyrightsString,
&textBoundingRect);
}
@@ -126,17 +127,19 @@ void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visible
painter.setFont(font);
painter.setPen(fontColor);
wmRect.setLeft(textLimitsRect.left() + 1);
- wmRect.setTop(textLimitsRect.top() + 1);
+ wmRect.setBottom(textLimitsRect.bottom() - 1);
painter.drawText(wmRect,
- Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap,
+ Qt::AlignLeft | Qt::AlignBottom | Qt::TextWordWrap,
copyrightsString,
&textBoundingRect);
painter.end();
- copyrightsSlab = copyrightsSlab.copy(0, 0,
- qMax(logo.width(), textBoundingRect.width()) + shadowWidth,
- logo.height() + textBoundingRect.height());
+ int newHeight = qMax(logo.height(), textBoundingRect.height());
+
+ copyrightsSlab = copyrightsSlab.copy(0, copyrightsSlab.height() - newHeight,
+ logo.width() + textBoundingRect.width() + shadowWidth + copyrightsMargin * 2,
+ newHeight);
QPoint copyrightsPos(copyrightsMargin, height() - (copyrightsSlab.height() + copyrightsMargin));
lastCopyrightsPos = copyrightsPos;
diff --git a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
index 1c7c12e5..99a2940b 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
@@ -53,9 +53,6 @@
#include "qgeotilespec_p.h"
#include "qgeotilecache_p.h"
-#include <QtPositioning/private/qdoublevector2d_p.h>
-#include <QtPositioning/private/qgeoprojection_p.h>
-
#include <QDebug>
#include <QDir>
#include <QVariant>
@@ -86,17 +83,25 @@ QGeoTiledMappingManagerEngineNokia::QGeoTiledMappingManagerEngineNokia(
setTileSize(QSize(256, 256));
QList<QGeoMapType> types;
- types << QGeoMapType(QGeoMapType::StreetMap,tr("Street Map"),tr("Nokia Street Map"), false, 1);
- types << QGeoMapType(QGeoMapType::SatelliteMapDay,tr("Satellite Map(day)"),tr("Nokia Satellite Map (day)"), false, 2);
- types << QGeoMapType(QGeoMapType::TerrainMap,tr("Terrain Map"),tr("Nokia Terrain Map"), false, 3);
- types << QGeoMapType(QGeoMapType::HybridMap,tr("Hybrid Map"),tr("Nokia Hybrid Map"), false, 4);
- types << QGeoMapType(QGeoMapType::TransitMap,tr("Transit Map"),tr("Nokia Transit Map"), false, 5);
- types << QGeoMapType(QGeoMapType::GrayStreetMap,tr("Gray Street Map"),tr("Nokia Gray Street Map"), false, 6);
- types << QGeoMapType(QGeoMapType::StreetMap,tr("Mobile Street Map"),tr("Nokia Mobile Street Map"), true, 7);
- types << QGeoMapType(QGeoMapType::TerrainMap,tr("Mobile Terrain Map"),tr("Nokia Mobile Terrain Map"), true, 8);
- types << QGeoMapType(QGeoMapType::HybridMap,tr("Mobile Hybrid Map"),tr("Nokia Mobile Hybrid Map"), true, 9);
- types << QGeoMapType(QGeoMapType::TransitMap,tr("Mobile Transit Map"),tr("Nokia Mobile Transit Map"), true, 10);
- types << QGeoMapType(QGeoMapType::GrayStreetMap,tr("Mobile Gray Street Map"),tr("Nokia Mobile Gray Street Map"), true, 11);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Street Map"), tr("Normal map view in daylight mode"), false, 1);
+ types << QGeoMapType(QGeoMapType::SatelliteMapDay, tr("Satellite Map"), tr("Satellite map view in daylight mode"), false, 2);
+ types << QGeoMapType(QGeoMapType::TerrainMap, tr("Terrain Map"), tr("Terrain map view in daylight mode"), false, 3);
+ types << QGeoMapType(QGeoMapType::HybridMap, tr("Hybrid Map"), tr("Satellite map view with streets in daylight mode"), false, 4);
+ types << QGeoMapType(QGeoMapType::TransitMap, tr("Transit Map"), tr("Color-reduced map view with public transport scheme in daylight mode"), false, 5);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Gray Street Map"), tr("Color-reduced map view in daylight mode (especially used for background maps)"), false, 6);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Mobile Street Map"), tr("Mobile normal map view in daylight mode"), true, 7);
+ types << QGeoMapType(QGeoMapType::TerrainMap, tr("Mobile Terrain Map"), tr("Mobile terrain map view in daylight mode"), true, 8);
+ types << QGeoMapType(QGeoMapType::HybridMap, tr("Mobile Hybrid Map"), tr("Mobile satellite map view with streets in daylight mode"), true, 9);
+ types << QGeoMapType(QGeoMapType::TransitMap, tr("Mobile Transit Map"), tr("Mobile color-reduced map view with public transport scheme in daylight mode"), true, 10);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Mobile Gray Street Map"), tr("Mobile color-reduced map view in daylight mode (especially used for background maps)"), true, 11);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Custom Street Map"), tr("Normal map view in daylight mode"), false, 12);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Night Street Map"), tr("Normal map view in night mode"), false, 13);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Mobile Night Street Map"), tr("Mobile normal map view in night mode"), true, 14);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Gray Night Street Map"), tr("Color-reduced map view in night mode (especially used for background maps)"), false, 15);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Mobile Gray Night Street Map"), tr("Mobile color-reduced map view in night mode (especially used for background maps)"), true, 16);
+ types << QGeoMapType(QGeoMapType::PedestrianMap, tr("Pedestrian Street Map"), tr("Pedestrian map view in daylight mode for mobile usage"), true, 17);
+ types << QGeoMapType(QGeoMapType::PedestrianMap, tr("Pedestrian Night Street Map"), tr("Pedestrian map view in night mode for mobile usage"), true, 18);
+ types << QGeoMapType(QGeoMapType::CarNavigationMap, tr("Car Navigation Map"), tr("Normal map view in daylight mode for car navigation"), false, 19);
setSupportedMapTypes(types);
QGeoTileFetcherNokia *fetcher = new QGeoTileFetcherNokia(parameters, networkManager, this, tileSize());
@@ -148,6 +153,8 @@ void QGeoTiledMappingManagerEngineNokia::populateMapTypesDb()
m_mapTypeStrings[QGeoMapType::HybridMap] = QLatin1String("hybrid");
m_mapTypeStrings[QGeoMapType::TransitMap] = QLatin1String("normal");
m_mapTypeStrings[QGeoMapType::GrayStreetMap] = QLatin1String("normal");
+ m_mapTypeStrings[QGeoMapType::PedestrianMap] = QLatin1String("pedestrian");
+ m_mapTypeStrings[QGeoMapType::CarNavigationMap] = QLatin1String("carnav");
}
void QGeoTiledMappingManagerEngineNokia::loadCopyrightsDescriptorsFromJson(const QByteArray &jsonData)
@@ -195,9 +202,10 @@ void QGeoTiledMappingManagerEngineNokia::loadCopyrightsDescriptorsFromJson(const
}
QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMapType::MapStyle mapStyle,
- const int zoomLevel,
+ const qreal zoomLevel,
const QSet<QGeoTileSpec> &tiles)
{
+ static const QChar copyrightSymbol(0x00a9);
typedef QSet<QGeoTileSpec>::const_iterator tile_iter;
QGeoRectangle viewport;
double viewX0, viewY0, viewX1, viewY1;
@@ -206,6 +214,7 @@ QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMap
tile_iter lastTile = tiles.constEnd();
if (tiles.count()) {
+ double divFactor = qPow(2.0, tile->zoom());
viewX0 = viewX1 = tile->x();
viewY0 = viewY1 = tile->y();
@@ -228,7 +237,6 @@ QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMap
viewY1++;
QDoubleVector2D pt;
- double divFactor = qPow(2.0, zoomLevel);
pt.setX(viewX0 / divFactor);
pt.setY(viewY0 / divFactor);
@@ -242,32 +250,34 @@ QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMap
QList<CopyrightDesc> descriptorList = m_copyrights[ m_mapTypeStrings[mapStyle] ];
CopyrightDesc *descriptor;
int descIndex, boxIndex;
- QString copyrightsString("");
+ QString copyrightsText;
+ QSet<QString> copyrightStrings;
for (descIndex = 0; descIndex < descriptorList.count(); descIndex++) {
if (descriptorList[descIndex].minLevel <= zoomLevel && zoomLevel <= descriptorList[descIndex].maxLevel) {
descriptor = &descriptorList[descIndex];
+
for (boxIndex = 0; boxIndex < descriptor->boxes.count(); boxIndex++) {
QGeoRectangle box = descriptor->boxes[boxIndex];
- QGeoCoordinate topRight = box.topRight();
- QGeoCoordinate bottomLeft = box.bottomLeft();
- if (descriptor->boxes[boxIndex].intersects(viewport)) {
- if (copyrightsString.length())
- copyrightsString += "\n";
- copyrightsString += descriptor->label;
+ if (box.intersects(viewport)) {
+ copyrightStrings.insert(descriptor->label);
break;
}
}
- if (!descriptor->boxes.count()) {
- if (copyrightsString.length())
- copyrightsString += "\n";
- copyrightsString += descriptor->label;
- }
+ if (!descriptor->boxes.count())
+ copyrightStrings.insert(descriptor->label);
}
}
- return copyrightsString;
+ foreach (const QString &copyrightString, copyrightStrings) {
+ if (copyrightsText.length())
+ copyrightsText += QLatin1Char('\n');
+ copyrightsText += copyrightSymbol;
+ copyrightsText += copyrightString;
+ }
+
+ return copyrightsText;
}
QGeoMapData *QGeoTiledMappingManagerEngineNokia::createMapData()
diff --git a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
index 56af20c4..4b710f89 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
+++ b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
@@ -78,7 +78,7 @@ public:
virtual QGeoMapData *createMapData();
QString evaluateCopyrightsText(const QGeoMapType::MapStyle mapStyle,
- const int zoomLevel,
+ const qreal zoomLevel,
const QSet<QGeoTileSpec> &tiles);
public Q_SLOTS:
diff --git a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
index a70862e3..c1cf93a0 100644
--- a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
@@ -98,6 +98,14 @@ namespace
registeredTypes[9] = "hybrid.day.mobile";
registeredTypes[10] = "normal.day.transit.mobile";
registeredTypes[11] = "normal.day.grey.mobile";
+ registeredTypes[12] = "normal.day.custom";
+ registeredTypes[13] = "normal.night";
+ registeredTypes[14] = "normal.night.mobile";
+ registeredTypes[15] = "normal.night.grey";
+ registeredTypes[16] = "normal.night.grey.mobile";
+ registeredTypes[17] = "pedestrian.day";
+ registeredTypes[18] = "pedestrian.night";
+ registeredTypes[19] = "carnav.day.grey";
}
MapTypeRegistry::const_iterator it = registeredTypes.find(mapId);
@@ -108,6 +116,11 @@ namespace
qWarning() << "Unknown mapId: " << mapId;
return "normal.day";
}
+
+ bool isAerialType(const QString mapType)
+ {
+ return mapType.startsWith("satellite") || mapType.startsWith("hybrid") || mapType.startsWith("terrain");
+ }
}
QGeoTileFetcherNokia::QGeoTileFetcherNokia(
const QVariantMap &parameters,
@@ -120,7 +133,8 @@ QGeoTileFetcherNokia::QGeoTileFetcherNokia(
m_parameters(parameters),
m_tileSize(tileSize),
m_copyrightsReply(0),
- m_uriProvider(new QGeoUriProvider(this, parameters, "mapping.host", MAP_TILES_HOST, MAP_TILES_HOST_CN))
+ m_baseUriProvider(new QGeoUriProvider(this, parameters, "mapping.host", MAP_TILES_HOST)),
+ m_aerialUriProvider(new QGeoUriProvider(this, parameters, "mapping.host.aerial", MAP_TILES_HOST_AERIAL))
{
Q_ASSERT(networkManager);
m_networkManager->setParent(this);
@@ -160,15 +174,19 @@ QGeoTiledMapReply *QGeoTileFetcherNokia::getTileImage(const QGeoTileSpec &spec)
QString QGeoTileFetcherNokia::getRequestString(const QGeoTileSpec &spec)
{
static const QString http("http://");
- static const QString path("/maptiler/v2/maptile/newest/");
+ static const QString path("/maptile/2.1/maptile/newest/");
static const QChar slash('/');
QString requestString = http;
- requestString += m_uriProvider->getCurrentHost();
- requestString += path;
+ QString mapType = mapIdToStr(spec.mapId());
+ if (isAerialType(mapType))
+ requestString += m_aerialUriProvider->getCurrentHost();
+ else
+ requestString += m_baseUriProvider->getCurrentHost();
- requestString += mapIdToStr(spec.mapId());
+ requestString += path;
+ requestString += mapType;
requestString += slash;
requestString += QString::number(spec.zoom());
requestString += slash;
@@ -215,18 +233,47 @@ QString QGeoTileFetcherNokia::getLanguageString() const
return QStringLiteral("CHI");
else
return QStringLiteral("CHT");
+ case QLocale::Dutch:
+ return QStringLiteral("DUT");
case QLocale::French:
return QStringLiteral("FRE");
case QLocale::German:
return QStringLiteral("GER");
+ case QLocale::Gaelic:
+ return QStringLiteral("GLE");
+ case QLocale::Greek:
+ return QStringLiteral("GRE");
+ case QLocale::Hebrew:
+ return QStringLiteral("HEB");
+ case QLocale::Hindi:
+ return QStringLiteral("HIN");
+ case QLocale::Indonesian:
+ return QStringLiteral("IND");
case QLocale::Italian:
return QStringLiteral("ITA");
+ case QLocale::Persian:
+ return QStringLiteral("PER");
case QLocale::Polish:
return QStringLiteral("POL");
+ case QLocale::Portuguese:
+ return QStringLiteral("POR");
case QLocale::Russian:
return QStringLiteral("RUS");
+ case QLocale::Sinhala:
+ return QStringLiteral("SIN");
case QLocale::Spanish:
return QStringLiteral("SPA");
+ case QLocale::Thai:
+ return QStringLiteral("THA");
+ case QLocale::Turkish:
+ return QStringLiteral("TUR");
+ case QLocale::Ukrainian:
+ return QStringLiteral("UKR");
+ case QLocale::Urdu:
+ return QStringLiteral("URD");
+ case QLocale::Vietnamese:
+ return QStringLiteral("VIE");
+
default:
return QStringLiteral("ENG");
}
@@ -257,8 +304,8 @@ void QGeoTileFetcherNokia::fetchCopyrightsData()
{
QString copyrightUrl = "http://";
- copyrightUrl += m_uriProvider->getCurrentHost();
- copyrightUrl += "/maptiler/v2/copyright/newest?output=json";
+ copyrightUrl += m_baseUriProvider->getCurrentHost();
+ copyrightUrl += "/maptile/2.1/copyright/newest?output=json";
if (!token().isEmpty()) {
copyrightUrl += "&token=";
diff --git a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h
index 2d9c385f..794b251f 100644
--- a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h
+++ b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h
@@ -102,7 +102,8 @@ private:
QNetworkReply *m_copyrightsReply;
QString m_applicationId;
- QGeoUriProvider *m_uriProvider;
+ QGeoUriProvider *m_baseUriProvider;
+ QGeoUriProvider *m_aerialUriProvider;
};
QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/nokia/uri_constants.cpp b/src/plugins/geoservices/nokia/uri_constants.cpp
index ee104a4b..83a2aafe 100644
--- a/src/plugins/geoservices/nokia/uri_constants.cpp
+++ b/src/plugins/geoservices/nokia/uri_constants.cpp
@@ -52,9 +52,9 @@ QT_BEGIN_NAMESPACE
const QString ROUTING_HOST = QLatin1String("route.nlp.nokia.com");
const QString GEOCODING_HOST = QLatin1String("loc.desktop.maps.svc.ovi.com");
const QString GEOCODING_HOST_CN = QLatin1String("pr.geo.maps.svc.nokia.com.cn");
-const QString PLACES_HOST = QLatin1String("places.nlp.nokia.com");
+const QString PLACES_HOST = QLatin1String("places.api.here.com");
const QString PLACES_HOST_CN = QLatin1String("places.nlp.nokia.com.cn");
-const QString MAP_TILES_HOST = QLatin1String("1-4.maptile.lbs.ovi.com");
-const QString MAP_TILES_HOST_CN = QLatin1String("a-k.maptile.maps.svc.nokia.com.cn");
+const QString MAP_TILES_HOST = QLatin1String("1-4.base.maps.api.here.com");
+const QString MAP_TILES_HOST_AERIAL = QLatin1String("1-4.aerial.maps.api.here.com");
QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/nokia/uri_constants.h b/src/plugins/geoservices/nokia/uri_constants.h
index b89c24b7..b32f0878 100644
--- a/src/plugins/geoservices/nokia/uri_constants.h
+++ b/src/plugins/geoservices/nokia/uri_constants.h
@@ -59,7 +59,7 @@ extern const QString GEOCODING_HOST_CN;
extern const QString PLACES_HOST;
extern const QString PLACES_HOST_CN;
extern const QString MAP_TILES_HOST;
-extern const QString MAP_TILES_HOST_CN;
+extern const QString MAP_TILES_HOST_AERIAL;
QT_END_NAMESPACE