diff --git a/QGCLocationPlugin.pro b/QGCLocationPlugin.pro index 26826fdd8e70a985ad02d1e37454d4c493025fd5..740ff8590898f70a4db17367e9f1bfa6b65b469d 100644 --- a/QGCLocationPlugin.pro +++ b/QGCLocationPlugin.pro @@ -8,7 +8,20 @@ PLUGIN_TYPE = geoservices DESTDIR = $${LOCATION_PLUGIN_DESTDIR} -INCLUDEPATH += $$QT.location.includes +contains(QT_VERSION, 5.5.1) { + + message(Using Local QtLocation headers for Qt 5.5.1) + + INCLUDEPATH += \ + libs/qtlocation/include \ + +} else { + + message(Using Default QtLocation headers) + + INCLUDEPATH += $$QT.location.includes + +} HEADERS += \ src/QtLocationPlugin/qgeoserviceproviderpluginqgc.h \ diff --git a/libs/qtlocation/README.md b/libs/qtlocation/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d85d4f1ee7fe6a6c62496e2d4d33f1a0f9b72670 --- /dev/null +++ b/libs/qtlocation/README.md @@ -0,0 +1,9 @@ +# QGroundControl + +## Qt Location Headers for Qt 5.5.1 + +Qt version 5.5.1 did not include the headers for QtLocation. It's included here so we can build our location plugin. This is only needed for Qt 5.5.1. The qmake file handles it automatically. Once we move past 5.5.1 we can delete this directory. + +The bug has been reported here: + +https://bugreports.qt.io/browse/QTBUG-48812 diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qcache3q_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qcache3q_p.h new file mode 100644 index 0000000000000000000000000000000000000000..2f3ebc0da79fa9fb975b8664044d71393833da41 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qcache3q_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qcache3q_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameracapabilities_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameracapabilities_p.h new file mode 100644 index 0000000000000000000000000000000000000000..c237979c0c5500ebe745f37ebe84f3d605e15083 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameracapabilities_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeocameracapabilities_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameradata_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameradata_p.h new file mode 100644 index 0000000000000000000000000000000000000000..06397537460958a1789bd7c45f375e94ba5d28a5 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameradata_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeocameradata_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameratiles_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameratiles_p.h new file mode 100644 index 0000000000000000000000000000000000000000..80f6aaf2ecae98c4872d3a3fb82b5534bed1372f --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocameratiles_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeocameratiles_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodereply_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodereply_p.h new file mode 100644 index 0000000000000000000000000000000000000000..2524050f991128ea27ca94a291c9126e5eb8f4c0 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodereply_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeocodereply_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodingmanager_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodingmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..043ed36b1173b2924b168d7eb0aa783d21739c67 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodingmanager_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeocodingmanager_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodingmanagerengine_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..5ce24ee92f7c73c53efd69893f57eac2134b18a2 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeocodingmanagerengine_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeocodingmanagerengine_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaneuver_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaneuver_p.h new file mode 100644 index 0000000000000000000000000000000000000000..cd5008ecaa0004f27addce41f788edad02aa3c11 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaneuver_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomaneuver_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomap_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomap_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b7327e4e874976ddcc310b5406114439fe9bbba3 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomap_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomap_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomap_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomap_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..3407c69e29d02a10343f43478423716fff4eb653 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomap_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomap_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomapcontroller_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomapcontroller_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ba33d7536333fd28d86861da0b97e036d19f364a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomapcontroller_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomapcontroller_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanager_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..9b03ed711f67b0cd0e119aede1c085b92c11815b --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanager_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomappingmanager_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanager_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanager_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..a9d965aca56112094eba394188f1701f1d24f569 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanager_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomappingmanager_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanagerengine_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..a1dd77ba5eeebdc25b2094ec44fabb61806d2296 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanagerengine_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomappingmanagerengine_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanagerengine_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanagerengine_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..7d99d28db87f03aa3dec26d4a33710d586e46ba1 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomappingmanagerengine_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomappingmanagerengine_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomapscene_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomapscene_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b80f27dea44cc95c13ccb689707c201830f83fc2 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomapscene_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomapscene_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaptype_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaptype_p.h new file mode 100644 index 0000000000000000000000000000000000000000..d6f8348c6cd417dbf8c2fbfd58153d08349a38bd --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaptype_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomaptype_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaptype_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaptype_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..93fb3ba7a9b0844b825f10c6730038e7e06e2e9b --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeomaptype_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeomaptype_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroute_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroute_p.h new file mode 100644 index 0000000000000000000000000000000000000000..aed5df16c71c04ed5c954c3a91399eec18fa1bec --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroute_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeoroute_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutereply_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutereply_p.h new file mode 100644 index 0000000000000000000000000000000000000000..73e56407547de0d3cc39e1633d66cfc80f168d61 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutereply_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeoroutereply_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeorouterequest_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeorouterequest_p.h new file mode 100644 index 0000000000000000000000000000000000000000..00f79413eebfa6510a0c56df11dfe7e4230f9e7c --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeorouterequest_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeorouterequest_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutesegment_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutesegment_p.h new file mode 100644 index 0000000000000000000000000000000000000000..77cc84a36365ae3b94afbcb79efa1c9715186637 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutesegment_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeoroutesegment_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutingmanager_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutingmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..1824922cecf106a711f150cb04ae0c68376a8fa0 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutingmanager_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeoroutingmanager_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutingmanagerengine_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..6f11de9294a75c93a1ec24213f30c8a1ed355b43 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoroutingmanagerengine_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeoroutingmanagerengine_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoserviceprovider_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoserviceprovider_p.h new file mode 100644 index 0000000000000000000000000000000000000000..88f9999857e67944e803ed447b59c2ce9799d2f0 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeoserviceprovider_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeoserviceprovider_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilecache_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilecache_p.h new file mode 100644 index 0000000000000000000000000000000000000000..bcabde39b5ac4788d15c2fb136f2cbd931c79104 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilecache_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotilecache_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmap_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmap_p.h new file mode 100644 index 0000000000000000000000000000000000000000..718b0a33118b75f5f2850cd7775868687cf1ca1e --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmap_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotiledmap_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmap_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmap_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..10bf8bbba9406cd625661f9bb091d4be7532e3a8 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmap_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotiledmap_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmappingmanagerengine_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmappingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..8cda0fe4160570fa5c01592b71a3383e8826d40a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmappingmanagerengine_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotiledmappingmanagerengine_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmappingmanagerengine_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmappingmanagerengine_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..1ad7d3821b22c5aa9fd1d8f6658bfbf8e9e90ade --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmappingmanagerengine_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotiledmappingmanagerengine_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmapreply_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmapreply_p.h new file mode 100644 index 0000000000000000000000000000000000000000..90e0c73cd410c407daabcac64a12d7910e0f4021 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmapreply_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotiledmapreply_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmapreply_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmapreply_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..6563bf2d969089197420286d3cd5135089a6a55e --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotiledmapreply_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotiledmapreply_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilefetcher_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilefetcher_p.h new file mode 100644 index 0000000000000000000000000000000000000000..5e921b5e2b2347b0d0a08f7c76eca40838912286 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilefetcher_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotilefetcher_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilefetcher_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilefetcher_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..c183b71565748f4f4ec93d07dbda8125bb613efe --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilefetcher_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotilefetcher_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilerequestmanager_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilerequestmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..88728234671d3b7abcbd543f93435231efbb5597 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilerequestmanager_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotilerequestmanager_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilespec_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilespec_p.h new file mode 100644 index 0000000000000000000000000000000000000000..7737cc778460e7475c9e70351f783767309e2ca3 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilespec_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotilespec_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilespec_p_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilespec_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..8f318b6d7d1219ec06bd299c0a51e1c6084e15a4 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qgeotilespec_p_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/maps/qgeotilespec_p_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplace_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplace_p.h new file mode 100644 index 0000000000000000000000000000000000000000..1aabde725270fe94d843c915f5f4210bd8239029 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplace_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplace_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceattribute_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceattribute_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ce8bd7c6e1db19e8ef01c1b424b23a060787a19d --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceattribute_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceattribute_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecategory_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecategory_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ed94a62ff12e14a971a3542345ad37b0f53ada06 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecategory_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacecategory_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontactdetail_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontactdetail_p.h new file mode 100644 index 0000000000000000000000000000000000000000..c8833e971b005097f1ecb572a45c4cd4e587b5db --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontactdetail_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacecontactdetail_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontent_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontent_p.h new file mode 100644 index 0000000000000000000000000000000000000000..4ccd7c8b529a1061642e822fee9f1f707154062e --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontent_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacecontent_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontentrequest_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontentrequest_p.h new file mode 100644 index 0000000000000000000000000000000000000000..64ca72d9ab770e7ebf78cf0e38377bd393b5b64e --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacecontentrequest_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacecontentrequest_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceeditorial_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceeditorial_p.h new file mode 100644 index 0000000000000000000000000000000000000000..c4caf2e8233d107716c3ca7a105e4248cc83397e --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceeditorial_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceeditorial_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceicon_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceicon_p.h new file mode 100644 index 0000000000000000000000000000000000000000..37a951d8c5d2e39a88c09b59d2ac3f711b7d7249 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceicon_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceicon_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceimage_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceimage_p.h new file mode 100644 index 0000000000000000000000000000000000000000..9de1983d3b62278dc431313eb37d641f6976d3f1 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceimage_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceimage_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacemanagerengine_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacemanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..2e1be795e61f195c579b0fd3e154ef372826c555 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacemanagerengine_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacemanagerengine_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceproposedsearchresult_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceproposedsearchresult_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b9e81b076478a0644aa32cc429028cfe23603018 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceproposedsearchresult_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceproposedsearchresult_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceratings_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceratings_p.h new file mode 100644 index 0000000000000000000000000000000000000000..3904253cad051b12941b85b2d978ea89821ccaf4 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceratings_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceratings_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacereply_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacereply_p.h new file mode 100644 index 0000000000000000000000000000000000000000..fb0e273410598fab3230e4d6958194a6a9d85095 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacereply_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacereply_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceresult_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceresult_p.h new file mode 100644 index 0000000000000000000000000000000000000000..94132feb9c023fde4c57bd15ba6c63745afbbab4 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceresult_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceresult_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacereview_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacereview_p.h new file mode 100644 index 0000000000000000000000000000000000000000..94552a3b8afb5d146be440184cd1acabcaf97c00 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacereview_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacereview_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacesearchresult_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacesearchresult_p.h new file mode 100644 index 0000000000000000000000000000000000000000..1b7404e0c33d759be1470b32b6ed3795d197668c --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacesearchresult_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacesearchresult_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacesupplier_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacesupplier_p.h new file mode 100644 index 0000000000000000000000000000000000000000..718cc741399d226bd5352a428f5761df0793b274 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplacesupplier_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplacesupplier_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceuser_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceuser_p.h new file mode 100644 index 0000000000000000000000000000000000000000..0dc4089d2838a6d32b4cce2a9b7c5d6b02c9fcc7 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/qplaceuser_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/qplaceuser_p.h" diff --git a/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/unsupportedreplies_p.h b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/unsupportedreplies_p.h new file mode 100644 index 0000000000000000000000000000000000000000..396fcf97ced120e8a7cab612beb3fc24fcc9f370 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/5.5.1/QtLocation/private/unsupportedreplies_p.h @@ -0,0 +1 @@ +#include "../../../../../src/location/places/unsupportedreplies_p.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoCodeReply b/libs/qtlocation/include/QtLocation/QGeoCodeReply new file mode 100644 index 0000000000000000000000000000000000000000..14193f8425b8c61bb556aa42a430a2588f5991e6 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoCodeReply @@ -0,0 +1 @@ +#include "qgeocodereply.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoCodingManager b/libs/qtlocation/include/QtLocation/QGeoCodingManager new file mode 100644 index 0000000000000000000000000000000000000000..ed7d721cad17fa6b656400346bbbd62609bdc86a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoCodingManager @@ -0,0 +1 @@ +#include "qgeocodingmanager.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoCodingManagerEngine b/libs/qtlocation/include/QtLocation/QGeoCodingManagerEngine new file mode 100644 index 0000000000000000000000000000000000000000..69303d2ce1f86b1c5ab4accac2ffebbf9dd1a193 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoCodingManagerEngine @@ -0,0 +1 @@ +#include "qgeocodingmanagerengine.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoManeuver b/libs/qtlocation/include/QtLocation/QGeoManeuver new file mode 100644 index 0000000000000000000000000000000000000000..a3ff6a540fe09210fc20e509ee75fbb0bed4eafa --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoManeuver @@ -0,0 +1 @@ +#include "qgeomaneuver.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoRoute b/libs/qtlocation/include/QtLocation/QGeoRoute new file mode 100644 index 0000000000000000000000000000000000000000..fd6690a62c809f68c63d0a431bae3739b8aa34a9 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoRoute @@ -0,0 +1 @@ +#include "qgeoroute.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoRouteReply b/libs/qtlocation/include/QtLocation/QGeoRouteReply new file mode 100644 index 0000000000000000000000000000000000000000..6109d67862ff8d367eb4be34694d5e7b24bc70a9 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoRouteReply @@ -0,0 +1 @@ +#include "qgeoroutereply.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoRouteRequest b/libs/qtlocation/include/QtLocation/QGeoRouteRequest new file mode 100644 index 0000000000000000000000000000000000000000..221969b33aa4b111a41336dac72c9b69d98caed9 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoRouteRequest @@ -0,0 +1 @@ +#include "qgeorouterequest.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoRouteSegment b/libs/qtlocation/include/QtLocation/QGeoRouteSegment new file mode 100644 index 0000000000000000000000000000000000000000..74590d6cf40bf38b98ee5c573b8c8c5b458b6897 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoRouteSegment @@ -0,0 +1 @@ +#include "qgeoroutesegment.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoRoutingManager b/libs/qtlocation/include/QtLocation/QGeoRoutingManager new file mode 100644 index 0000000000000000000000000000000000000000..76e522437d7edad836de92e7aac531cf76c19b76 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoRoutingManager @@ -0,0 +1 @@ +#include "qgeoroutingmanager.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoRoutingManagerEngine b/libs/qtlocation/include/QtLocation/QGeoRoutingManagerEngine new file mode 100644 index 0000000000000000000000000000000000000000..300a668a3e3c4341d5561aa501e4ac3585dab9a1 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoRoutingManagerEngine @@ -0,0 +1 @@ +#include "qgeoroutingmanagerengine.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoServiceProvider b/libs/qtlocation/include/QtLocation/QGeoServiceProvider new file mode 100644 index 0000000000000000000000000000000000000000..d5b38bc334837aec9f8e374bb56a2d76064c3926 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoServiceProvider @@ -0,0 +1 @@ +#include "qgeoserviceprovider.h" diff --git a/libs/qtlocation/include/QtLocation/QGeoServiceProviderFactory b/libs/qtlocation/include/QtLocation/QGeoServiceProviderFactory new file mode 100644 index 0000000000000000000000000000000000000000..9bee8fb751b4933565f659c32516876c9ca01038 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QGeoServiceProviderFactory @@ -0,0 +1 @@ +#include "qgeoserviceproviderfactory.h" diff --git a/libs/qtlocation/include/QtLocation/QLocation b/libs/qtlocation/include/QtLocation/QLocation new file mode 100644 index 0000000000000000000000000000000000000000..e433f1e031caad71fa8f91b92854f50f46b0f676 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QLocation @@ -0,0 +1 @@ +#include "qlocation.h" diff --git a/libs/qtlocation/include/QtLocation/QPlace b/libs/qtlocation/include/QtLocation/QPlace new file mode 100644 index 0000000000000000000000000000000000000000..51b4bacf380c0b4084bf671c7339b87db0056266 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlace @@ -0,0 +1 @@ +#include "qplace.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceAttribute b/libs/qtlocation/include/QtLocation/QPlaceAttribute new file mode 100644 index 0000000000000000000000000000000000000000..05d36dfeedf19d176b0f30d982d9539e81d6aa5d --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceAttribute @@ -0,0 +1 @@ +#include "qplaceattribute.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceCategory b/libs/qtlocation/include/QtLocation/QPlaceCategory new file mode 100644 index 0000000000000000000000000000000000000000..959738aa5126ee7e86ff2ebd120037c2c1d2decc --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceCategory @@ -0,0 +1 @@ +#include "qplacecategory.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceContactDetail b/libs/qtlocation/include/QtLocation/QPlaceContactDetail new file mode 100644 index 0000000000000000000000000000000000000000..4ff2d2d1257654e4bea4e4314e201f0e346a71ff --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceContactDetail @@ -0,0 +1 @@ +#include "qplacecontactdetail.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceContent b/libs/qtlocation/include/QtLocation/QPlaceContent new file mode 100644 index 0000000000000000000000000000000000000000..7ebb1450940f0a3f357289c68c38412b42064ab1 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceContent @@ -0,0 +1 @@ +#include "qplacecontent.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceContentReply b/libs/qtlocation/include/QtLocation/QPlaceContentReply new file mode 100644 index 0000000000000000000000000000000000000000..67fc8a874b692e29cc90c81c38ce618e4c83a5ab --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceContentReply @@ -0,0 +1 @@ +#include "qplacecontentreply.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceContentRequest b/libs/qtlocation/include/QtLocation/QPlaceContentRequest new file mode 100644 index 0000000000000000000000000000000000000000..43459f4f66634297dd7cb86d8ed5d719f2e9b1d2 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceContentRequest @@ -0,0 +1 @@ +#include "qplacecontentrequest.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceDetailsReply b/libs/qtlocation/include/QtLocation/QPlaceDetailsReply new file mode 100644 index 0000000000000000000000000000000000000000..1455310119e304caba491366a7816b6c9654ec9f --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceDetailsReply @@ -0,0 +1 @@ +#include "qplacedetailsreply.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceEditorial b/libs/qtlocation/include/QtLocation/QPlaceEditorial new file mode 100644 index 0000000000000000000000000000000000000000..d1a232ae8f7cf2fc5a433ef72cd1e229c75a12c0 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceEditorial @@ -0,0 +1 @@ +#include "qplaceeditorial.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceIcon b/libs/qtlocation/include/QtLocation/QPlaceIcon new file mode 100644 index 0000000000000000000000000000000000000000..fae7a4e0e1c2d3b60f4717d6bef6bc712f897022 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceIcon @@ -0,0 +1 @@ +#include "qplaceicon.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceIdReply b/libs/qtlocation/include/QtLocation/QPlaceIdReply new file mode 100644 index 0000000000000000000000000000000000000000..8709b65fe3d5e62840d67ac2506a70c5c7b95890 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceIdReply @@ -0,0 +1 @@ +#include "qplaceidreply.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceImage b/libs/qtlocation/include/QtLocation/QPlaceImage new file mode 100644 index 0000000000000000000000000000000000000000..606c306053e6acf15aa1dd69d7a9eec3e4e56f0a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceImage @@ -0,0 +1 @@ +#include "qplaceimage.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceManager b/libs/qtlocation/include/QtLocation/QPlaceManager new file mode 100644 index 0000000000000000000000000000000000000000..7973c483c8c2894b1c9f5c42b342af3faadcd76b --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceManager @@ -0,0 +1 @@ +#include "qplacemanager.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceManagerEngine b/libs/qtlocation/include/QtLocation/QPlaceManagerEngine new file mode 100644 index 0000000000000000000000000000000000000000..27f07fcd8512745510f5b12d54d618dad953fc2d --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceManagerEngine @@ -0,0 +1 @@ +#include "qplacemanagerengine.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceMatchReply b/libs/qtlocation/include/QtLocation/QPlaceMatchReply new file mode 100644 index 0000000000000000000000000000000000000000..37ffdf2e8915296439855c8e03ae0fbbd92f3882 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceMatchReply @@ -0,0 +1 @@ +#include "qplacematchreply.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceMatchRequest b/libs/qtlocation/include/QtLocation/QPlaceMatchRequest new file mode 100644 index 0000000000000000000000000000000000000000..ceaeb968c97a99e841e1494410039a1e142ee7ab --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceMatchRequest @@ -0,0 +1 @@ +#include "qplacematchrequest.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceProposedSearchResult b/libs/qtlocation/include/QtLocation/QPlaceProposedSearchResult new file mode 100644 index 0000000000000000000000000000000000000000..c43f2a67365c0346bb37bf56a75c9b865d387f6a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceProposedSearchResult @@ -0,0 +1 @@ +#include "qplaceproposedsearchresult.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceRatings b/libs/qtlocation/include/QtLocation/QPlaceRatings new file mode 100644 index 0000000000000000000000000000000000000000..4b7f63ce56e441a5e686484104cff8c11609705d --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceRatings @@ -0,0 +1 @@ +#include "qplaceratings.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceReply b/libs/qtlocation/include/QtLocation/QPlaceReply new file mode 100644 index 0000000000000000000000000000000000000000..f0654b8f9366ed8750e4a011c625d50d454def53 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceReply @@ -0,0 +1 @@ +#include "qplacereply.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceResult b/libs/qtlocation/include/QtLocation/QPlaceResult new file mode 100644 index 0000000000000000000000000000000000000000..4f5c8db74df6cff1a1027470b5763b27e6c7646a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceResult @@ -0,0 +1 @@ +#include "qplaceresult.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceReview b/libs/qtlocation/include/QtLocation/QPlaceReview new file mode 100644 index 0000000000000000000000000000000000000000..83cccec600344b22ce510ecd58ba6d72ba3ac4c8 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceReview @@ -0,0 +1 @@ +#include "qplacereview.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceSearchReply b/libs/qtlocation/include/QtLocation/QPlaceSearchReply new file mode 100644 index 0000000000000000000000000000000000000000..395a61a7d0bee87bd860b44688e5cd1ab644701d --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceSearchReply @@ -0,0 +1 @@ +#include "qplacesearchreply.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceSearchRequest b/libs/qtlocation/include/QtLocation/QPlaceSearchRequest new file mode 100644 index 0000000000000000000000000000000000000000..b247dab8b7822b4eddb6cc956e1eadcda87afa5e --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceSearchRequest @@ -0,0 +1 @@ +#include "qplacesearchrequest.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceSearchResult b/libs/qtlocation/include/QtLocation/QPlaceSearchResult new file mode 100644 index 0000000000000000000000000000000000000000..2298271cdc180e9461ee597a7d18f67660dad5d0 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceSearchResult @@ -0,0 +1 @@ +#include "qplacesearchresult.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceSearchSuggestionReply b/libs/qtlocation/include/QtLocation/QPlaceSearchSuggestionReply new file mode 100644 index 0000000000000000000000000000000000000000..e7a4f91d40f40cf19d8a4480981b35f60a10a32b --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceSearchSuggestionReply @@ -0,0 +1 @@ +#include "qplacesearchsuggestionreply.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceSupplier b/libs/qtlocation/include/QtLocation/QPlaceSupplier new file mode 100644 index 0000000000000000000000000000000000000000..465b46d486380fdc1addadacf0fffb662b6d81ac --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceSupplier @@ -0,0 +1 @@ +#include "qplacesupplier.h" diff --git a/libs/qtlocation/include/QtLocation/QPlaceUser b/libs/qtlocation/include/QtLocation/QPlaceUser new file mode 100644 index 0000000000000000000000000000000000000000..5acba297464a98ca688a2e277d8efd4352f9e234 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QPlaceUser @@ -0,0 +1 @@ +#include "qplaceuser.h" diff --git a/libs/qtlocation/include/QtLocation/QtLocation b/libs/qtlocation/include/QtLocation/QtLocation new file mode 100644 index 0000000000000000000000000000000000000000..897c1aa8b91a6c363e8c7f156bf6ccc64f951dd8 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QtLocation @@ -0,0 +1,47 @@ +#ifndef QT_QTLOCATION_MODULE_H +#define QT_QTLOCATION_MODULE_H +#include +#include "qlocation.h" +#include "qlocationglobal.h" +#include "qgeocodereply.h" +#include "qgeocodingmanager.h" +#include "qgeocodingmanagerengine.h" +#include "qgeomaneuver.h" +#include "qgeoroute.h" +#include "qgeoroutereply.h" +#include "qgeorouterequest.h" +#include "qgeoroutesegment.h" +#include "qgeoroutingmanager.h" +#include "qgeoroutingmanagerengine.h" +#include "qgeoserviceprovider.h" +#include "qgeoserviceproviderfactory.h" +#include "placemacro.h" +#include "qplace.h" +#include "qplaceattribute.h" +#include "qplacecategory.h" +#include "qplacecontactdetail.h" +#include "qplacecontent.h" +#include "qplacecontentreply.h" +#include "qplacecontentrequest.h" +#include "qplacedetailsreply.h" +#include "qplaceeditorial.h" +#include "qplaceicon.h" +#include "qplaceidreply.h" +#include "qplaceimage.h" +#include "qplacemanager.h" +#include "qplacemanagerengine.h" +#include "qplacematchreply.h" +#include "qplacematchrequest.h" +#include "qplaceproposedsearchresult.h" +#include "qplaceratings.h" +#include "qplacereply.h" +#include "qplaceresult.h" +#include "qplacereview.h" +#include "qplacesearchreply.h" +#include "qplacesearchrequest.h" +#include "qplacesearchresult.h" +#include "qplacesearchsuggestionreply.h" +#include "qplacesupplier.h" +#include "qplaceuser.h" +#include "qtlocationversion.h" +#endif diff --git a/libs/qtlocation/include/QtLocation/QtLocationVersion b/libs/qtlocation/include/QtLocation/QtLocationVersion new file mode 100644 index 0000000000000000000000000000000000000000..8da249999a6b80c88b285c1ed9fb6b4448eeb101 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/QtLocationVersion @@ -0,0 +1 @@ +#include "qtlocationversion.h" diff --git a/libs/qtlocation/include/QtLocation/placemacro.h b/libs/qtlocation/include/QtLocation/placemacro.h new file mode 100644 index 0000000000000000000000000000000000000000..19404ab2af9521e051b8775196e01a7a70abcb76 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/placemacro.h @@ -0,0 +1 @@ +#include "../../src/location/places/placemacro.h" diff --git a/libs/qtlocation/include/QtLocation/qgeocodereply.h b/libs/qtlocation/include/QtLocation/qgeocodereply.h new file mode 100644 index 0000000000000000000000000000000000000000..ba6d7125184ae9b9529fe9e574e0b1b3cc6d423a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeocodereply.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeocodereply.h" diff --git a/libs/qtlocation/include/QtLocation/qgeocodingmanager.h b/libs/qtlocation/include/QtLocation/qgeocodingmanager.h new file mode 100644 index 0000000000000000000000000000000000000000..7ddf50f7e6aa524dcad2b06fac60d0bd1e001014 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeocodingmanager.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeocodingmanager.h" diff --git a/libs/qtlocation/include/QtLocation/qgeocodingmanagerengine.h b/libs/qtlocation/include/QtLocation/qgeocodingmanagerengine.h new file mode 100644 index 0000000000000000000000000000000000000000..18d06effa329eae307e5f62a727f2914a783cd66 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeocodingmanagerengine.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeocodingmanagerengine.h" diff --git a/libs/qtlocation/include/QtLocation/qgeomaneuver.h b/libs/qtlocation/include/QtLocation/qgeomaneuver.h new file mode 100644 index 0000000000000000000000000000000000000000..72e145b94a5748890820f973e8464c2c5d270468 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeomaneuver.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeomaneuver.h" diff --git a/libs/qtlocation/include/QtLocation/qgeoroute.h b/libs/qtlocation/include/QtLocation/qgeoroute.h new file mode 100644 index 0000000000000000000000000000000000000000..b0bdf344837e3a4e2120f028ab7d87560d1e9724 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeoroute.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeoroute.h" diff --git a/libs/qtlocation/include/QtLocation/qgeoroutereply.h b/libs/qtlocation/include/QtLocation/qgeoroutereply.h new file mode 100644 index 0000000000000000000000000000000000000000..34d8e88a85e7517e61c67d6cc3aa5f00ae167fc3 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeoroutereply.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeoroutereply.h" diff --git a/libs/qtlocation/include/QtLocation/qgeorouterequest.h b/libs/qtlocation/include/QtLocation/qgeorouterequest.h new file mode 100644 index 0000000000000000000000000000000000000000..33bf11db701a9e8a03113d0850091b1b05b491de --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeorouterequest.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeorouterequest.h" diff --git a/libs/qtlocation/include/QtLocation/qgeoroutesegment.h b/libs/qtlocation/include/QtLocation/qgeoroutesegment.h new file mode 100644 index 0000000000000000000000000000000000000000..7205732762a0ae0e7e25260feb39a0171ab5f60e --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeoroutesegment.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeoroutesegment.h" diff --git a/libs/qtlocation/include/QtLocation/qgeoroutingmanager.h b/libs/qtlocation/include/QtLocation/qgeoroutingmanager.h new file mode 100644 index 0000000000000000000000000000000000000000..8ae46be2f941128964dafa20ed2be5ab45d237fd --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeoroutingmanager.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeoroutingmanager.h" diff --git a/libs/qtlocation/include/QtLocation/qgeoroutingmanagerengine.h b/libs/qtlocation/include/QtLocation/qgeoroutingmanagerengine.h new file mode 100644 index 0000000000000000000000000000000000000000..4b26f1457b7163beeb4076f8f7371855f81901f7 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeoroutingmanagerengine.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeoroutingmanagerengine.h" diff --git a/libs/qtlocation/include/QtLocation/qgeoserviceprovider.h b/libs/qtlocation/include/QtLocation/qgeoserviceprovider.h new file mode 100644 index 0000000000000000000000000000000000000000..4aca205b5c00831fe447d51931770f39e47c568d --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeoserviceprovider.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeoserviceprovider.h" diff --git a/libs/qtlocation/include/QtLocation/qgeoserviceproviderfactory.h b/libs/qtlocation/include/QtLocation/qgeoserviceproviderfactory.h new file mode 100644 index 0000000000000000000000000000000000000000..39a5e4c890e5f00918fe2636f75871025b0111e4 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qgeoserviceproviderfactory.h @@ -0,0 +1 @@ +#include "../../src/location/maps/qgeoserviceproviderfactory.h" diff --git a/libs/qtlocation/include/QtLocation/qlocation.h b/libs/qtlocation/include/QtLocation/qlocation.h new file mode 100644 index 0000000000000000000000000000000000000000..4c266a15566358c154d98152cdedb8d1004ed7cc --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qlocation.h @@ -0,0 +1 @@ +#include "../../src/location/qlocation.h" diff --git a/libs/qtlocation/include/QtLocation/qlocationglobal.h b/libs/qtlocation/include/QtLocation/qlocationglobal.h new file mode 100644 index 0000000000000000000000000000000000000000..99597407864407a887c00c4003576307d5f8fa3a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qlocationglobal.h @@ -0,0 +1 @@ +#include "../../src/location/qlocationglobal.h" diff --git a/libs/qtlocation/include/QtLocation/qplace.h b/libs/qtlocation/include/QtLocation/qplace.h new file mode 100644 index 0000000000000000000000000000000000000000..7ce3cf4ab16497870be666fa184b3b1b6016aa82 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplace.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplace.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceattribute.h b/libs/qtlocation/include/QtLocation/qplaceattribute.h new file mode 100644 index 0000000000000000000000000000000000000000..9ade0c5b08cee0968d8ac752f75120862ed39d78 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceattribute.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceattribute.h" diff --git a/libs/qtlocation/include/QtLocation/qplacecategory.h b/libs/qtlocation/include/QtLocation/qplacecategory.h new file mode 100644 index 0000000000000000000000000000000000000000..310d15ca47517701840a2671334028f10a6558c4 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacecategory.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacecategory.h" diff --git a/libs/qtlocation/include/QtLocation/qplacecontactdetail.h b/libs/qtlocation/include/QtLocation/qplacecontactdetail.h new file mode 100644 index 0000000000000000000000000000000000000000..179040c545f288262437a493cdd7237d8838f547 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacecontactdetail.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacecontactdetail.h" diff --git a/libs/qtlocation/include/QtLocation/qplacecontent.h b/libs/qtlocation/include/QtLocation/qplacecontent.h new file mode 100644 index 0000000000000000000000000000000000000000..675d5ee1f6210f694698936bd667dd69b1f0d50a --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacecontent.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacecontent.h" diff --git a/libs/qtlocation/include/QtLocation/qplacecontentreply.h b/libs/qtlocation/include/QtLocation/qplacecontentreply.h new file mode 100644 index 0000000000000000000000000000000000000000..3129a8fd9c725948a51aee3b1e09f425de79fcd5 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacecontentreply.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacecontentreply.h" diff --git a/libs/qtlocation/include/QtLocation/qplacecontentrequest.h b/libs/qtlocation/include/QtLocation/qplacecontentrequest.h new file mode 100644 index 0000000000000000000000000000000000000000..1578507d9de0fd6546ea0b091aa25c696b9edfd4 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacecontentrequest.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacecontentrequest.h" diff --git a/libs/qtlocation/include/QtLocation/qplacedetailsreply.h b/libs/qtlocation/include/QtLocation/qplacedetailsreply.h new file mode 100644 index 0000000000000000000000000000000000000000..586e16a72a9b8ac22c1193608fb5c5357f238870 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacedetailsreply.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacedetailsreply.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceeditorial.h b/libs/qtlocation/include/QtLocation/qplaceeditorial.h new file mode 100644 index 0000000000000000000000000000000000000000..9dac346603993b024a76295a4634db7c640f7712 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceeditorial.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceeditorial.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceicon.h b/libs/qtlocation/include/QtLocation/qplaceicon.h new file mode 100644 index 0000000000000000000000000000000000000000..558ac04ddf2b431dbfd6a8c144582b36c8471ce8 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceicon.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceicon.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceidreply.h b/libs/qtlocation/include/QtLocation/qplaceidreply.h new file mode 100644 index 0000000000000000000000000000000000000000..8d191859804365108b47ce25f25c8cd16736dfdf --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceidreply.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceidreply.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceimage.h b/libs/qtlocation/include/QtLocation/qplaceimage.h new file mode 100644 index 0000000000000000000000000000000000000000..856deb156cf2bf4e9568098ee88b81d0340303d7 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceimage.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceimage.h" diff --git a/libs/qtlocation/include/QtLocation/qplacemanager.h b/libs/qtlocation/include/QtLocation/qplacemanager.h new file mode 100644 index 0000000000000000000000000000000000000000..689e04373fc9cd6b6d1043ce243a05d4a9df3103 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacemanager.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacemanager.h" diff --git a/libs/qtlocation/include/QtLocation/qplacemanagerengine.h b/libs/qtlocation/include/QtLocation/qplacemanagerengine.h new file mode 100644 index 0000000000000000000000000000000000000000..8966e6d34ebf8090bb9bc3b70c2dec66f81d0d7d --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacemanagerengine.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacemanagerengine.h" diff --git a/libs/qtlocation/include/QtLocation/qplacematchreply.h b/libs/qtlocation/include/QtLocation/qplacematchreply.h new file mode 100644 index 0000000000000000000000000000000000000000..123bd8f5e211251725b4d05556c91ce67d179100 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacematchreply.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacematchreply.h" diff --git a/libs/qtlocation/include/QtLocation/qplacematchrequest.h b/libs/qtlocation/include/QtLocation/qplacematchrequest.h new file mode 100644 index 0000000000000000000000000000000000000000..bca1b696b207bc4d69947fcf2938e6e9157f4fba --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacematchrequest.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacematchrequest.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceproposedsearchresult.h b/libs/qtlocation/include/QtLocation/qplaceproposedsearchresult.h new file mode 100644 index 0000000000000000000000000000000000000000..9a609b4a55773657095a5a3f8fe3f495d93a6013 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceproposedsearchresult.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceproposedsearchresult.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceratings.h b/libs/qtlocation/include/QtLocation/qplaceratings.h new file mode 100644 index 0000000000000000000000000000000000000000..dc6ad101914159eba05cffdd438d475df7a79dbe --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceratings.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceratings.h" diff --git a/libs/qtlocation/include/QtLocation/qplacereply.h b/libs/qtlocation/include/QtLocation/qplacereply.h new file mode 100644 index 0000000000000000000000000000000000000000..96a2fefdd9a28658a08b3e8c3ef6a61197c19533 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacereply.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacereply.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceresult.h b/libs/qtlocation/include/QtLocation/qplaceresult.h new file mode 100644 index 0000000000000000000000000000000000000000..48e4bed4bfc0800ce27cb53c0d87d7036300616b --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceresult.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceresult.h" diff --git a/libs/qtlocation/include/QtLocation/qplacereview.h b/libs/qtlocation/include/QtLocation/qplacereview.h new file mode 100644 index 0000000000000000000000000000000000000000..19273d9fe9003d1ddd03c594db1ebac93ee907e5 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacereview.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacereview.h" diff --git a/libs/qtlocation/include/QtLocation/qplacesearchreply.h b/libs/qtlocation/include/QtLocation/qplacesearchreply.h new file mode 100644 index 0000000000000000000000000000000000000000..5e458790f22e4a511bb926ec0d5fb5a5e3b29053 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacesearchreply.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacesearchreply.h" diff --git a/libs/qtlocation/include/QtLocation/qplacesearchrequest.h b/libs/qtlocation/include/QtLocation/qplacesearchrequest.h new file mode 100644 index 0000000000000000000000000000000000000000..794ac51159614d001f6a5bbee771a60b3038c158 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacesearchrequest.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacesearchrequest.h" diff --git a/libs/qtlocation/include/QtLocation/qplacesearchresult.h b/libs/qtlocation/include/QtLocation/qplacesearchresult.h new file mode 100644 index 0000000000000000000000000000000000000000..102d1e8ff5b791fa6dc97e712bbc5c0c1e2a1dcf --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacesearchresult.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacesearchresult.h" diff --git a/libs/qtlocation/include/QtLocation/qplacesearchsuggestionreply.h b/libs/qtlocation/include/QtLocation/qplacesearchsuggestionreply.h new file mode 100644 index 0000000000000000000000000000000000000000..72cdc6a07b8497642ec7bbe07d0a6a2651a09570 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacesearchsuggestionreply.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacesearchsuggestionreply.h" diff --git a/libs/qtlocation/include/QtLocation/qplacesupplier.h b/libs/qtlocation/include/QtLocation/qplacesupplier.h new file mode 100644 index 0000000000000000000000000000000000000000..071102d319f996cd96aa0534cd1a249fdfcad659 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplacesupplier.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplacesupplier.h" diff --git a/libs/qtlocation/include/QtLocation/qplaceuser.h b/libs/qtlocation/include/QtLocation/qplaceuser.h new file mode 100644 index 0000000000000000000000000000000000000000..88d3b2832704455a46813e6b612c01e123cd5586 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qplaceuser.h @@ -0,0 +1 @@ +#include "../../src/location/places/qplaceuser.h" diff --git a/libs/qtlocation/include/QtLocation/qtlocationversion.h b/libs/qtlocation/include/QtLocation/qtlocationversion.h new file mode 100644 index 0000000000000000000000000000000000000000..9a2b1c89a0159e9c5c6f54a13edbe4ee19b56282 --- /dev/null +++ b/libs/qtlocation/include/QtLocation/qtlocationversion.h @@ -0,0 +1,9 @@ +/* This file was generated by syncqt. */ +#ifndef QT_QTLOCATION_VERSION_H +#define QT_QTLOCATION_VERSION_H + +#define QTLOCATION_VERSION_STR "5.5.1" + +#define QTLOCATION_VERSION 0x050501 + +#endif // QT_QTLOCATION_VERSION_H diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdeclarativegeoaddress_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdeclarativegeoaddress_p.h new file mode 100644 index 0000000000000000000000000000000000000000..56562a7cedb89478e4dfe41ca1a6cca9945f9c1a --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdeclarativegeoaddress_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qdeclarativegeoaddress_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdeclarativegeolocation_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdeclarativegeolocation_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ce5bbf393f4dc800db84b43d314390efdef528a1 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdeclarativegeolocation_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qdeclarativegeolocation_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdoublevector2d_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdoublevector2d_p.h new file mode 100644 index 0000000000000000000000000000000000000000..a679f2f66dea10d407956d13fea9996d11456c42 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdoublevector2d_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qdoublevector2d_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdoublevector3d_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdoublevector3d_p.h new file mode 100644 index 0000000000000000000000000000000000000000..6b1a13cf3898c2fa7ec1ed12cb8bf591ba3aa6b9 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qdoublevector3d_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qdoublevector3d_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoaddress_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoaddress_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b4940079e983b0b6b8986133f7486082fb52d7a6 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoaddress_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeoaddress_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeocircle_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeocircle_p.h new file mode 100644 index 0000000000000000000000000000000000000000..80a2f05c5f109d6f27a041828aa0d0a3aab8b294 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeocircle_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeocircle_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeocoordinate_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeocoordinate_p.h new file mode 100644 index 0000000000000000000000000000000000000000..53b5c3b7f36e62e3902355d27e0b86ec7e9dd36e --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeocoordinate_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeocoordinate_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeolocation_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeolocation_p.h new file mode 100644 index 0000000000000000000000000000000000000000..15bd5a155a21e970c813453003880ba25e2d9595 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeolocation_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeolocation_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeopositioninfosource_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeopositioninfosource_p.h new file mode 100644 index 0000000000000000000000000000000000000000..a43d355f7bde11873c45b8d578814a5e0cbc449d --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeopositioninfosource_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeopositioninfosource_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoprojection_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoprojection_p.h new file mode 100644 index 0000000000000000000000000000000000000000..d05567933f81c11e6d78e91b60ea171af764410c --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoprojection_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeoprojection_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeorectangle_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeorectangle_p.h new file mode 100644 index 0000000000000000000000000000000000000000..e4d2ac1b3edfd5983e3942b756d73dc917c68efa --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeorectangle_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeorectangle_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoshape_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoshape_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ef4a35e049105d285a7747e21accfbf77efaf794 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qgeoshape_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qgeoshape_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qlocationutils_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qlocationutils_p.h new file mode 100644 index 0000000000000000000000000000000000000000..0c3d9cd77ce70824c5c142b4b99b661dc6064a4f --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qlocationutils_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qlocationutils_p.h" diff --git a/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qnmeapositioninfosource_p.h b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qnmeapositioninfosource_p.h new file mode 100644 index 0000000000000000000000000000000000000000..2fd5904b1d165696b71e04232ae55ac296ab3782 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/5.5.1/QtPositioning/private/qnmeapositioninfosource_p.h @@ -0,0 +1 @@ +#include "../../../../../src/positioning/qnmeapositioninfosource_p.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoAddress b/libs/qtlocation/include/QtPositioning/QGeoAddress new file mode 100644 index 0000000000000000000000000000000000000000..708bcabe70ffd2974ea9f8c57a98873ddd43f6dc --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoAddress @@ -0,0 +1 @@ +#include "qgeoaddress.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoAreaMonitorInfo b/libs/qtlocation/include/QtPositioning/QGeoAreaMonitorInfo new file mode 100644 index 0000000000000000000000000000000000000000..7e137e6ab0aa89cfbaae0cda107542899adb2301 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoAreaMonitorInfo @@ -0,0 +1 @@ +#include "qgeoareamonitorinfo.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoAreaMonitorSource b/libs/qtlocation/include/QtPositioning/QGeoAreaMonitorSource new file mode 100644 index 0000000000000000000000000000000000000000..942ccf65f2f7dcb8a931a651a8f86d082d664c90 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoAreaMonitorSource @@ -0,0 +1 @@ +#include "qgeoareamonitorsource.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoCircle b/libs/qtlocation/include/QtPositioning/QGeoCircle new file mode 100644 index 0000000000000000000000000000000000000000..b77d827f280d1a9956ed71ae8f97b5ac1f63de8d --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoCircle @@ -0,0 +1 @@ +#include "qgeocircle.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoCoordinate b/libs/qtlocation/include/QtPositioning/QGeoCoordinate new file mode 100644 index 0000000000000000000000000000000000000000..812fb2ad46c30709ee945a01f70adb52088dec47 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoCoordinate @@ -0,0 +1 @@ +#include "qgeocoordinate.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoLocation b/libs/qtlocation/include/QtPositioning/QGeoLocation new file mode 100644 index 0000000000000000000000000000000000000000..bd38c75e56f9d0d6fab96aaacc1224be826719cd --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoLocation @@ -0,0 +1 @@ +#include "qgeolocation.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoPositionInfo b/libs/qtlocation/include/QtPositioning/QGeoPositionInfo new file mode 100644 index 0000000000000000000000000000000000000000..d6feec95f5f27e1aa1c693c8cac138f448bbe32d --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoPositionInfo @@ -0,0 +1 @@ +#include "qgeopositioninfo.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoPositionInfoSource b/libs/qtlocation/include/QtPositioning/QGeoPositionInfoSource new file mode 100644 index 0000000000000000000000000000000000000000..b7cc338f80b272f772cbe123e388533e819ce549 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoPositionInfoSource @@ -0,0 +1 @@ +#include "qgeopositioninfosource.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoPositionInfoSourceFactory b/libs/qtlocation/include/QtPositioning/QGeoPositionInfoSourceFactory new file mode 100644 index 0000000000000000000000000000000000000000..74484369c64dd080605d89be3e2c70d844188d84 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoPositionInfoSourceFactory @@ -0,0 +1 @@ +#include "qgeopositioninfosourcefactory.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoRectangle b/libs/qtlocation/include/QtPositioning/QGeoRectangle new file mode 100644 index 0000000000000000000000000000000000000000..9a7d48fb9d1d847887f6be3d21d89b45f68f1636 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoRectangle @@ -0,0 +1 @@ +#include "qgeorectangle.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoSatelliteInfo b/libs/qtlocation/include/QtPositioning/QGeoSatelliteInfo new file mode 100644 index 0000000000000000000000000000000000000000..a3fd47d3089f250a4fd226a10a06916b447cc732 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoSatelliteInfo @@ -0,0 +1 @@ +#include "qgeosatelliteinfo.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoSatelliteInfoSource b/libs/qtlocation/include/QtPositioning/QGeoSatelliteInfoSource new file mode 100644 index 0000000000000000000000000000000000000000..cc6ba9d9d2f5a7b45ab71017796a4f088b5e033b --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoSatelliteInfoSource @@ -0,0 +1 @@ +#include "qgeosatelliteinfosource.h" diff --git a/libs/qtlocation/include/QtPositioning/QGeoShape b/libs/qtlocation/include/QtPositioning/QGeoShape new file mode 100644 index 0000000000000000000000000000000000000000..d86ddc370ab70ad7948ff7055b0b6be3ab465827 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QGeoShape @@ -0,0 +1 @@ +#include "qgeoshape.h" diff --git a/libs/qtlocation/include/QtPositioning/QNmeaPositionInfoSource b/libs/qtlocation/include/QtPositioning/QNmeaPositionInfoSource new file mode 100644 index 0000000000000000000000000000000000000000..5c261c903aa209857ba1e229afe000d98189f669 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QNmeaPositionInfoSource @@ -0,0 +1 @@ +#include "qnmeapositioninfosource.h" diff --git a/libs/qtlocation/include/QtPositioning/QtPositioning b/libs/qtlocation/include/QtPositioning/QtPositioning new file mode 100644 index 0000000000000000000000000000000000000000..90f0720f4230973eb5c548401804fa23b4e52003 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QtPositioning @@ -0,0 +1,20 @@ +#ifndef QT_QTPOSITIONING_MODULE_H +#define QT_QTPOSITIONING_MODULE_H +#include +#include "qgeoaddress.h" +#include "qgeoareamonitorinfo.h" +#include "qgeoareamonitorsource.h" +#include "qgeocircle.h" +#include "qgeocoordinate.h" +#include "qgeolocation.h" +#include "qgeopositioninfo.h" +#include "qgeopositioninfosource.h" +#include "qgeopositioninfosourcefactory.h" +#include "qgeorectangle.h" +#include "qgeosatelliteinfo.h" +#include "qgeosatelliteinfosource.h" +#include "qgeoshape.h" +#include "qnmeapositioninfosource.h" +#include "qpositioningglobal.h" +#include "qtpositioningversion.h" +#endif diff --git a/libs/qtlocation/include/QtPositioning/QtPositioningVersion b/libs/qtlocation/include/QtPositioning/QtPositioningVersion new file mode 100644 index 0000000000000000000000000000000000000000..2f993983b3a5efd1297002cd377228fe82f29ddd --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/QtPositioningVersion @@ -0,0 +1 @@ +#include "qtpositioningversion.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeoaddress.h b/libs/qtlocation/include/QtPositioning/qgeoaddress.h new file mode 100644 index 0000000000000000000000000000000000000000..b8e0a99bfd53bba48dbccb3fb1622e61307b83f8 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeoaddress.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeoaddress.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeoareamonitorinfo.h b/libs/qtlocation/include/QtPositioning/qgeoareamonitorinfo.h new file mode 100644 index 0000000000000000000000000000000000000000..f9a334cb01b68ca4d3b9ce3844e26ff3af93c335 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeoareamonitorinfo.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeoareamonitorinfo.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeoareamonitorsource.h b/libs/qtlocation/include/QtPositioning/qgeoareamonitorsource.h new file mode 100644 index 0000000000000000000000000000000000000000..4555de8c9c0a037b5878abed68c1f0daf52ea00f --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeoareamonitorsource.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeoareamonitorsource.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeocircle.h b/libs/qtlocation/include/QtPositioning/qgeocircle.h new file mode 100644 index 0000000000000000000000000000000000000000..f598c2cefae6bd96eabd78bcfa3acb1afd9be383 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeocircle.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeocircle.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeocoordinate.h b/libs/qtlocation/include/QtPositioning/qgeocoordinate.h new file mode 100644 index 0000000000000000000000000000000000000000..93b16d9c3245c106e42959787085b191ddfc7487 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeocoordinate.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeocoordinate.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeolocation.h b/libs/qtlocation/include/QtPositioning/qgeolocation.h new file mode 100644 index 0000000000000000000000000000000000000000..59429ea98053f49b451b8fcf7ade1929a625c2bb --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeolocation.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeolocation.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeopositioninfo.h b/libs/qtlocation/include/QtPositioning/qgeopositioninfo.h new file mode 100644 index 0000000000000000000000000000000000000000..213fbb232d04ce4481c9a050ac8ddde1cfb1ca6d --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeopositioninfo.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeopositioninfo.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeopositioninfosource.h b/libs/qtlocation/include/QtPositioning/qgeopositioninfosource.h new file mode 100644 index 0000000000000000000000000000000000000000..8f7082dc0295a8509de1318cc06b8745bbea2b67 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeopositioninfosource.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeopositioninfosource.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeopositioninfosourcefactory.h b/libs/qtlocation/include/QtPositioning/qgeopositioninfosourcefactory.h new file mode 100644 index 0000000000000000000000000000000000000000..e59bdd9861a3e33dd5c95670665131cc56e37fb0 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeopositioninfosourcefactory.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeopositioninfosourcefactory.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeorectangle.h b/libs/qtlocation/include/QtPositioning/qgeorectangle.h new file mode 100644 index 0000000000000000000000000000000000000000..f4a65269895f9c252569823efb279c83b9a6bc4f --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeorectangle.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeorectangle.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeosatelliteinfo.h b/libs/qtlocation/include/QtPositioning/qgeosatelliteinfo.h new file mode 100644 index 0000000000000000000000000000000000000000..1c1d631ac0835a9797f40efd6173296ab6842ac6 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeosatelliteinfo.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeosatelliteinfo.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeosatelliteinfosource.h b/libs/qtlocation/include/QtPositioning/qgeosatelliteinfosource.h new file mode 100644 index 0000000000000000000000000000000000000000..a3115b13d7e60cb434a5059c07a5232bdad4d1e7 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeosatelliteinfosource.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeosatelliteinfosource.h" diff --git a/libs/qtlocation/include/QtPositioning/qgeoshape.h b/libs/qtlocation/include/QtPositioning/qgeoshape.h new file mode 100644 index 0000000000000000000000000000000000000000..6e7d4dbf9a0bfc803451864731bffc72e5b2e334 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qgeoshape.h @@ -0,0 +1 @@ +#include "../../src/positioning/qgeoshape.h" diff --git a/libs/qtlocation/include/QtPositioning/qnmeapositioninfosource.h b/libs/qtlocation/include/QtPositioning/qnmeapositioninfosource.h new file mode 100644 index 0000000000000000000000000000000000000000..6f5d63d00aae326fb620bb60ecbab500603d163c --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qnmeapositioninfosource.h @@ -0,0 +1 @@ +#include "../../src/positioning/qnmeapositioninfosource.h" diff --git a/libs/qtlocation/include/QtPositioning/qpositioningglobal.h b/libs/qtlocation/include/QtPositioning/qpositioningglobal.h new file mode 100644 index 0000000000000000000000000000000000000000..a29121476963443a33bd41bab81fef9b37813099 --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qpositioningglobal.h @@ -0,0 +1 @@ +#include "../../src/positioning/qpositioningglobal.h" diff --git a/libs/qtlocation/include/QtPositioning/qtpositioningversion.h b/libs/qtlocation/include/QtPositioning/qtpositioningversion.h new file mode 100644 index 0000000000000000000000000000000000000000..a177db2280587085711dc54f2c291d9652a1f75e --- /dev/null +++ b/libs/qtlocation/include/QtPositioning/qtpositioningversion.h @@ -0,0 +1,9 @@ +/* This file was generated by syncqt. */ +#ifndef QT_QTPOSITIONING_VERSION_H +#define QT_QTPOSITIONING_VERSION_H + +#define QTPOSITIONING_VERSION_STR "5.5.1" + +#define QTPOSITIONING_VERSION 0x050501 + +#endif // QT_QTPOSITIONING_VERSION_H diff --git a/libs/qtlocation/src/location/maps/maps.pri b/libs/qtlocation/src/location/maps/maps.pri new file mode 100644 index 0000000000000000000000000000000000000000..43e0f7476f2046af5963e897ca3cf3880e738944 --- /dev/null +++ b/libs/qtlocation/src/location/maps/maps.pri @@ -0,0 +1,89 @@ + +INCLUDEPATH += maps + +QT += gui quick + +PUBLIC_HEADERS += \ + maps/qgeocodereply.h \ + maps/qgeocodingmanagerengine.h \ + maps/qgeocodingmanager.h \ + maps/qgeomaneuver.h \ + maps/qgeoroute.h \ + maps/qgeoroutereply.h \ + maps/qgeorouterequest.h \ + maps/qgeoroutesegment.h \ + maps/qgeoroutingmanagerengine.h \ + maps/qgeoroutingmanager.h \ + maps/qgeoserviceproviderfactory.h \ + maps/qgeoserviceprovider.h + +PRIVATE_HEADERS += \ + maps/qgeocameracapabilities_p.h \ + maps/qgeocameradata_p.h \ + maps/qgeocameratiles_p.h \ + maps/qgeocodereply_p.h \ + maps/qgeocodingmanagerengine_p.h \ + maps/qgeocodingmanager_p.h \ + maps/qgeomaneuver_p.h \ + maps/qgeomapcontroller_p.h \ + maps/qgeomapscene_p.h \ + maps/qgeotilerequestmanager_p.h \ + maps/qgeomap_p.h \ + maps/qgeomap_p_p.h \ + maps/qgeotiledmap_p.h \ + maps/qgeotiledmap_p_p.h \ + maps/qgeotilefetcher_p.h \ + maps/qgeotilefetcher_p_p.h \ + maps/qgeomappingmanager_p.h \ + maps/qgeomappingmanager_p_p.h \ + maps/qgeomappingmanagerengine_p.h \ + maps/qgeomappingmanagerengine_p_p.h \ + maps/qgeotiledmappingmanagerengine_p.h \ + maps/qgeotiledmappingmanagerengine_p_p.h \ + maps/qgeomaptype_p.h \ + maps/qgeomaptype_p_p.h \ + maps/qgeoroute_p.h \ + maps/qgeoroutereply_p.h \ + maps/qgeorouterequest_p.h \ + maps/qgeoroutesegment_p.h \ + maps/qgeoroutingmanagerengine_p.h \ + maps/qgeoroutingmanager_p.h \ + maps/qgeoserviceprovider_p.h \ + maps/qgeotilecache_p.h \ + maps/qgeotiledmapreply_p.h \ + maps/qgeotiledmapreply_p_p.h \ + maps/qgeotilespec_p.h \ + maps/qgeotilespec_p_p.h \ + maps/qcache3q_p.h + +SOURCES += \ + maps/qgeocameracapabilities.cpp \ + maps/qgeocameradata.cpp \ + maps/qgeocameratiles.cpp \ + maps/qgeocodereply.cpp \ + maps/qgeocodingmanager.cpp \ + maps/qgeocodingmanagerengine.cpp \ + maps/qgeomaneuver.cpp \ + maps/qgeomapcontroller.cpp \ + maps/qgeomapscene.cpp \ + maps/qgeotilerequestmanager.cpp \ + maps/qgeomap.cpp \ + maps/qgeomappingmanager.cpp \ + maps/qgeomappingmanagerengine.cpp \ + maps/qgeotiledmappingmanagerengine.cpp \ + maps/qgeotilefetcher.cpp \ + maps/qgeomaptype.cpp \ + maps/qgeoroute.cpp \ + maps/qgeoroutereply.cpp \ + maps/qgeorouterequest.cpp \ + maps/qgeoroutesegment.cpp \ + maps/qgeoroutingmanager.cpp \ + maps/qgeoroutingmanagerengine.cpp \ + maps/qgeoserviceprovider.cpp \ + maps/qgeoserviceproviderfactory.cpp \ + maps/qgeotilecache.cpp \ + maps/qgeotiledmapreply.cpp \ + maps/qgeotilespec.cpp \ + maps/qgeotiledmap.cpp + + diff --git a/libs/qtlocation/src/location/maps/qcache3q_p.h b/libs/qtlocation/src/location/maps/qcache3q_p.h new file mode 100644 index 0000000000000000000000000000000000000000..debce5d163f4077e8fcf8db8ee03d4b70a1d21a9 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qcache3q_p.h @@ -0,0 +1,471 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QCACHE3Q_H +#define QCACHE3Q_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +template +class QCache3QDefaultEvictionPolicy +{ +protected: + /* called just before a key/value pair is about to be _evicted_ */ + void aboutToBeEvicted(const Key &key, QSharedPointer obj); + /* called just before a key/value pair is about to be removed, by + * clear(), remove() or by the destructor (which calls clear) */ + void aboutToBeRemoved(const Key &key, QSharedPointer obj); +}; + +template +void QCache3QDefaultEvictionPolicy::aboutToBeEvicted(const Key &key, QSharedPointer obj) +{ + Q_UNUSED(key); + Q_UNUSED(obj); +} + +template +void QCache3QDefaultEvictionPolicy::aboutToBeRemoved(const Key &key, QSharedPointer obj) +{ + Q_UNUSED(key); + Q_UNUSED(obj); +} + +/* + * QCache3Q + * + * A cache template class for managing QSharedPointers to objects with an + * associated key. It's a lot like QCache, but uses an alternative algorithm + * '3Q' -- which is the '2Q' algorithm plus an extra queue for previously popular + * but evicted nodes, and a 'ghost' list of recent evictions to make a better + * placement choice if they are requested again. + * + * New nodes enter the cache on the "newbies" queue, which is evicted LRA + * (least-recently-added). If a newbie is popular enough (it has been requested + * more than promoteAt times), it will be promoted to a "regular". Regulars + * are evicted LRU (least-recently-used). If a regular is under consideration + * for eviction, its popularity is compared to the mean popularity of the whole + * regulars queue. If it is greater, it is instead moved to the "hobos" queue. + * The "hobos" queue is also evicted LRU, but has a maximum size constraint + * so eviction from it is less likely than from the regulars. + * + * Tweakables: + * * maxCost = maximum total cost for the whole cache + * * minRecent = minimum size that q1 ("newbies") has to be before eviction + * from it takes place + * * maxOldPopular = maximum size that q3 ("hobos") can reach before eviction + * from it takes place + * * promoteAt = minimum popularity necessary to promote a node from + * "newbie" to "regular" + */ +template > +class QCache3Q : public EvPolicy +{ +private: + class Queue; + class Node + { + public: + inline explicit Node() : q(0), n(0), p(0), pop(0), cost(0) {} + + Queue *q; + Node *n; + Node *p; + Key k; + QSharedPointer v; + quint64 pop; // popularity, incremented each ping + int cost; + }; + + class Queue + { + public: + inline explicit Queue() : f(0), l(0), cost(0), pop(0), size(0) {} + + Node *f; + Node *l; + int cost; // total cost of nodes on the queue + quint64 pop; // sum of popularity values on the queue + int size; // size of the queue + }; + + Queue *q1_; // "newbies": seen only once, evicted LRA (least-recently-added) + Queue *q2_; // regular nodes, promoted from newbies, evicted LRU + Queue *q3_; // "hobos": evicted from q2 but were very popular (above mean) + Queue *q1_evicted_; // ghosts of recently evicted newbies and regulars + QHash lookup_; + +public: + explicit QCache3Q(int maxCost = 100, int minRecent = -1, int maxOldPopular = -1); + inline ~QCache3Q() { clear(); delete q1_; delete q2_; delete q3_; delete q1_evicted_; } + + inline int maxCost() const { return maxCost_; } + void setMaxCost(int maxCost, int minRecent = -1, int maxOldPopular = -1); + + inline int promoteAt() const { return promote_; } + inline void setPromoteAt(int p) { promote_ = p; } + + inline int totalCost() const { return q1_->cost + q2_->cost + q3_->cost; } + + void clear(); + bool insert(const Key &key, QSharedPointer object, int cost = 1); + QSharedPointer object(const Key &key) const; + QSharedPointer operator[](const Key &key) const; + + void remove(const Key &key); + + void printStats(); + + // Copy data directly into a queue. Designed for single use after construction + void deserializeQueue(int queueNumber, const QList &keys, + const QList > &values, const QList &costs); + // Copy data from specific queue into list + void serializeQueue(int queueNumber, QList > &buffer); + +private: + int maxCost_, minRecent_, maxOldPopular_; + int hitCount_, missCount_, promote_; + + void rebalance(); + void unlink(Node *n); + void link_front(Node *n, Queue *q); + +private: + // make these private so they can't be used + inline QCache3Q(const QCache3Q &) {} + inline QCache3Q &operator=(const QCache3Q &) {} +}; + +template +void QCache3Q::printStats() +{ + qDebug("\n=== cache %p ===", this); + qDebug("hits: %d (%.2f%%)\tmisses: %d\tfill: %.2f%%", hitCount_, + 100.0 * float(hitCount_) / (float(hitCount_ + missCount_)), + missCount_, + 100.0 * float(totalCost()) / float(maxCost())); + qDebug("q1g: size=%d, pop=%llu", q1_evicted_->size, q1_evicted_->pop); + qDebug("q1: cost=%d, size=%d, pop=%llu", q1_->cost, q1_->size, q1_->pop); + qDebug("q2: cost=%d, size=%d, pop=%llu", q2_->cost, q2_->size, q2_->pop); + qDebug("q3: cost=%d, size=%d, pop=%llu", q3_->cost, q3_->size, q3_->pop); +} + +template +QCache3Q::QCache3Q(int maxCost, int minRecent, int maxOldPopular) + : q1_(new Queue), q2_(new Queue), q3_(new Queue), q1_evicted_(new Queue), + maxCost_(maxCost), minRecent_(minRecent), maxOldPopular_(maxOldPopular), + hitCount_(0), missCount_(0), promote_(0) +{ + if (minRecent_ < 0) + minRecent_ = maxCost_ / 3; + if (maxOldPopular_ < 0) + maxOldPopular_ = maxCost_ / 5; +} + +template +void QCache3Q::serializeQueue(int queueNumber, QList > &buffer) +{ + Q_ASSERT(queueNumber >= 1 && queueNumber <= 4); + Queue *queue = queueNumber == 1 ? q1_ : + queueNumber == 2 ? q2_ : + queueNumber == 3 ? q3_ : + q1_evicted_; + for (Node *node = queue->f; node; node = node->n) + buffer.append(node->v); +} + +template +void QCache3Q::deserializeQueue(int queueNumber, const QList &keys, + const QList > &values, const QList &costs) +{ + Q_ASSERT(queueNumber >= 1 && queueNumber <= 4); + int bufferSize = keys.size(); + if (bufferSize == 0) + return; + clear(); + Queue *queue = queueNumber == 1 ? q1_ : + queueNumber == 2 ? q2_ : + queueNumber == 3 ? q3_ : + q1_evicted_; + for (int i = 0; iv = values[i]; + node->k = keys[i]; + node->cost = costs[i]; + link_front(node, queue); + lookup_[keys[i]] = node; + } +} + + +template +inline void QCache3Q::setMaxCost(int maxCost, int minRecent, int maxOldPopular) +{ + maxCost_ = maxCost; + minRecent_ = minRecent; + maxOldPopular_ = maxOldPopular; + if (minRecent_ < 0) + minRecent_ = maxCost_ / 3; + if (maxOldPopular_ < 0) + maxOldPopular_ = maxCost_ / 5; + rebalance(); +} + +template +bool QCache3Q::insert(const Key &key, QSharedPointer object, int cost) +{ + if (cost > maxCost_) { + return false; + } + + if (lookup_.contains(key)) { + Node *n = lookup_[key]; + n->v = object; + n->q->cost -= n->cost; + n->cost = cost; + n->q->cost += cost; + + if (n->q == q1_evicted_) { + if (n->pop > (uint)promote_) { + unlink(n); + link_front(n, q2_); + rebalance(); + } + } else if (n->q != q1_) { + Queue *q = n->q; + unlink(n); + link_front(n, q); + rebalance(); + } + + return true; + } + + Node *n = new Node; + n->v = object; + n->k = key; + n->cost = cost; + link_front(n, q1_); + lookup_[key] = n; + + rebalance(); + + return true; +} + +template +void QCache3Q::clear() +{ + while (q1_evicted_->f) { + Node *n = q1_evicted_->f; + unlink(n); + delete n; + } + + while (q1_->f) { + Node *n = q1_->f; + unlink(n); + EvPolicy::aboutToBeRemoved(n->k, n->v); + delete n; + } + + while (q2_->f) { + Node *n = q2_->f; + unlink(n); + EvPolicy::aboutToBeRemoved(n->k, n->v); + delete n; + } + + while (q3_->f) { + Node *n = q3_->f; + unlink(n); + EvPolicy::aboutToBeRemoved(n->k, n->v); + delete n; + } + + lookup_.clear(); +} + +template +void QCache3Q::unlink(Node *n) +{ + if (n->n) + n->n->p = n->p; + if (n->p) + n->p->n = n->n; + if (n->q->f == n) + n->q->f = n->n; + if (n->q->l == n) + n->q->l = n->p; + n->n = 0; + n->p = 0; + n->q->pop -= n->pop; + n->q->cost -= n->cost; + n->q->size--; + n->q = 0; +} + +template +void QCache3Q::link_front(Node *n, Queue *q) +{ + n->n = q->f; + n->p = 0; + n->q = q; + if (q->f) + q->f->p = n; + q->f = n; + if (!q->l) + q->l = n; + + q->pop += n->pop; + q->cost += n->cost; + q->size++; +} + +template +void QCache3Q::rebalance() +{ + while (q1_evicted_->size > (q1_->size + q2_->size + q3_->size) * 4) { + Node *n = q1_evicted_->l; + unlink(n); + lookup_.remove(n->k); + delete n; + } + + while ((q1_->cost + q2_->cost + q3_->cost) > maxCost_) { + if (q3_->cost > maxOldPopular_) { + Node *n = q3_->l; + unlink(n); + EvPolicy::aboutToBeEvicted(n->k, n->v); + lookup_.remove(n->k); + delete n; + } else if (q1_->cost > minRecent_) { + Node *n = q1_->l; + unlink(n); + EvPolicy::aboutToBeEvicted(n->k, n->v); + n->v.clear(); + n->cost = 0; + link_front(n, q1_evicted_); + } else { + Node *n = q2_->l; + unlink(n); + if (n->pop > (q2_->pop / q2_->size)) { + link_front(n, q3_); + } else { + EvPolicy::aboutToBeEvicted(n->k, n->v); + n->v.clear(); + n->cost = 0; + link_front(n, q1_evicted_); + } + } + } +} + +template +void QCache3Q::remove(const Key &key) +{ + if (!lookup_.contains(key)) { + return; + } + Node *n = lookup_[key]; + unlink(n); + if (n->q != q1_evicted_) + EvPolicy::aboutToBeRemoved(n->k, n->v); + lookup_.remove(key); + delete n; +} + +template +QSharedPointer QCache3Q::object(const Key &key) const +{ + if (!lookup_.contains(key)) { + const_cast *>(this)->missCount_++; + return QSharedPointer(0); + } + + QCache3Q *me = const_cast *>(this); + + Node *n = me->lookup_[key]; + n->pop++; + n->q->pop++; + + if (n->q == q1_) { + me->hitCount_++; + + if (n->pop > (quint64)promote_) { + me->unlink(n); + me->link_front(n, q2_); + me->rebalance(); + } + } else if (n->q != q1_evicted_) { + me->hitCount_++; + + Queue *q = n->q; + me->unlink(n); + me->link_front(n, q); + me->rebalance(); + } else { + me->missCount_++; + } + + return n->v; +} + +template +inline QSharedPointer QCache3Q::operator[](const Key &key) const +{ + return object(key); +} + +QT_END_NAMESPACE + +#endif // QCACHE3Q_H diff --git a/libs/qtlocation/src/location/maps/qgeocameracapabilities_p.h b/libs/qtlocation/src/location/maps/qgeocameracapabilities_p.h new file mode 100644 index 0000000000000000000000000000000000000000..4e498b1dcfc2452167d03053cbb9aed73edd273a --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocameracapabilities_p.h @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCAMERACAPABILITIES_P_H +#define QGEOCAMERACAPABILITIES_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#include + +QT_BEGIN_NAMESPACE + +class QGeoCameraCapabilitiesPrivate; + +class Q_LOCATION_EXPORT QGeoCameraCapabilities +{ +public: + QGeoCameraCapabilities(); + QGeoCameraCapabilities(const QGeoCameraCapabilities &other); + ~QGeoCameraCapabilities(); + + QGeoCameraCapabilities &operator = (const QGeoCameraCapabilities &other); + + void setMinimumZoomLevel(double minimumZoomLevel); + double minimumZoomLevel() const; + + void setMaximumZoomLevel(double maximumZoomLevel); + double maximumZoomLevel() const; + + void setSupportsBearing(bool supportsBearing); + bool supportsBearing() const; + + void setSupportsRolling(bool supportsRolling); + bool supportsRolling() const; + + void setSupportsTilting(bool supportsTilting); + bool supportsTilting() const; + + void setMinimumTilt(double minimumTilt); + double minimumTilt() const; + + void setMaximumTilt(double maximumTilt); + double maximumTilt() const; + + bool isValid() const; + +private: + QSharedDataPointer d; +}; + +QT_END_NAMESPACE + +#endif // QGEOCAMERACAPABILITIES_P_H diff --git a/libs/qtlocation/src/location/maps/qgeocameradata_p.h b/libs/qtlocation/src/location/maps/qgeocameradata_p.h new file mode 100644 index 0000000000000000000000000000000000000000..a1434fd8ff935b571b3616e70e47dc3cf2b39945 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocameradata_p.h @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOCAMERADATA_P_H +#define QGEOCAMERADATA_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qlocationglobal.h" +#include "qgeocoordinate.h" + +#include + +#include + +#include + +QT_BEGIN_NAMESPACE + +class QGeoCameraDataPrivate; + +class Q_LOCATION_EXPORT QGeoCameraData +{ +public: + QGeoCameraData(); + QGeoCameraData(const QGeoCameraData &other); + ~QGeoCameraData(); + + QGeoCameraData &operator = (const QGeoCameraData &other); + + bool operator == (const QGeoCameraData &other) const; + bool operator != (const QGeoCameraData &other) const; + + void setCenter(const QGeoCoordinate &coordinate); + QGeoCoordinate center() const; + + void setBearing(double bearing); + double bearing() const; + + void setTilt(double tilt); + double tilt() const; + + void setRoll(double roll); + double roll() const; + + void setZoomLevel(double zoomLevel); + double zoomLevel() const; + +private: + QSharedDataPointer d; +}; + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoCameraData) + +#endif // QGEOCAMERADATA_P_H diff --git a/libs/qtlocation/src/location/maps/qgeocameratiles_p.h b/libs/qtlocation/src/location/maps/qgeocameratiles_p.h new file mode 100644 index 0000000000000000000000000000000000000000..e32602833494d72f5f136885aedb4fce2ddbbf1b --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocameratiles_p.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOCAMERATILES_P_H +#define QGEOCAMERATILES_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoCameraData; +class QGeoTileSpec; +class QGeoMapType; +class QGeoCameraTilesPrivate; +class QSize; + +class Q_LOCATION_EXPORT QGeoCameraTiles { +public: + QGeoCameraTiles(); + ~QGeoCameraTiles(); + + enum PrefetchStle { PrefetchNeighbourLayer, PrefetchTwoNeighbourLayers}; + + void setCamera(const QGeoCameraData &camera); + void setScreenSize(const QSize &size); + void setTileSize(int tileSize); + void setMaximumZoomLevel(int maxZoom); + + int tileSize() const; + + void setPluginString(const QString &pluginString); + void setMapType(const QGeoMapType &mapType); + void setMapVersion(int mapVersion); + + QSet visibleTiles(); + QSet prefetchTiles(PrefetchStle style); + +protected: + QScopedPointer d_ptr; + Q_DISABLE_COPY(QGeoCameraTiles) +}; + +QT_END_NAMESPACE + +#endif // QGEOCAMERATILES_P_H diff --git a/libs/qtlocation/src/location/maps/qgeocodereply.h b/libs/qtlocation/src/location/maps/qgeocodereply.h new file mode 100644 index 0000000000000000000000000000000000000000..f713e421820856f6c9977f45982c034d7406009d --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocodereply.h @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCODEREPLY_H +#define QGEOCODEREPLY_H + +#include +#include +#include + +#include + +QT_BEGIN_NAMESPACE + +class QGeoShape; +class QGeoCodeReplyPrivate; + +class Q_LOCATION_EXPORT QGeoCodeReply : public QObject +{ + Q_OBJECT + +public: + enum Error { + NoError, + EngineNotSetError, + CommunicationError, + ParseError, + UnsupportedOptionError, + CombinationError, + UnknownError + }; + + QGeoCodeReply(Error error, const QString &errorString, QObject *parent = 0); + virtual ~QGeoCodeReply(); + + bool isFinished() const; + Error error() const; + QString errorString() const; + + QGeoShape viewport() const; + QList locations() const; + + int limit() const; + int offset() const; + + virtual void abort(); + +Q_SIGNALS: + void finished(); + void error(QGeoCodeReply::Error error, const QString &errorString = QString()); + +protected: + QGeoCodeReply(QObject *parent = 0); + + void setError(Error error, const QString &errorString); + void setFinished(bool finished); + + void setViewport(const QGeoShape &viewport); + void addLocation(const QGeoLocation &location); + void setLocations(const QList &locations); + + void setLimit(int limit); + void setOffset(int offset); + +private: + QGeoCodeReplyPrivate *d_ptr; + Q_DISABLE_COPY(QGeoCodeReply) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeocodereply_p.h b/libs/qtlocation/src/location/maps/qgeocodereply_p.h new file mode 100644 index 0000000000000000000000000000000000000000..fefe7883c66b23236f0fc13b7c381fb577b1886d --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocodereply_p.h @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCODEREPLY_P_H +#define QGEOCODEREPLY_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeocodereply.h" + +#include "qgeoshape.h" + +#include + +QT_BEGIN_NAMESPACE + +class QGeoLocation; + +class QGeoCodeReplyPrivate +{ +public: + QGeoCodeReplyPrivate(); + QGeoCodeReplyPrivate(QGeoCodeReply::Error error, const QString &errorString); + ~QGeoCodeReplyPrivate(); + + QGeoCodeReply::Error error; + QString errorString; + bool isFinished; + + QGeoShape viewport; + QList locations; + + int limit; + int offset; +private: + Q_DISABLE_COPY(QGeoCodeReplyPrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeocodingmanager.h b/libs/qtlocation/src/location/maps/qgeocodingmanager.h new file mode 100644 index 0000000000000000000000000000000000000000..b33cda756696c31882356bb4099f680213c375c9 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocodingmanager.h @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCODINGMANAGER_H +#define QGEOCODINGMANAGER_H + +#include +#include + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QLocale; + +class QGeoCodingManagerEngine; +class QGeoCodingManagerPrivate; + +class Q_LOCATION_EXPORT QGeoCodingManager : public QObject +{ + Q_OBJECT +public: + ~QGeoCodingManager(); + + QString managerName() const; + int managerVersion() const; + + QGeoCodeReply *geocode(const QGeoAddress &address, + const QGeoShape &bounds = QGeoShape()); + QGeoCodeReply *geocode(const QString &searchString, + int limit = -1, + int offset = 0, + const QGeoShape &bounds = QGeoShape()); + + QGeoCodeReply *reverseGeocode(const QGeoCoordinate &coordinate, + const QGeoShape &bounds = QGeoShape()); + + void setLocale(const QLocale &locale); + QLocale locale() const; + +Q_SIGNALS: + void finished(QGeoCodeReply *reply); + void error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString()); + +private: + QGeoCodingManager(QGeoCodingManagerEngine *engine, QObject *parent = 0); + + QGeoCodingManagerPrivate *d_ptr; + Q_DISABLE_COPY(QGeoCodingManager) + + friend class QGeoServiceProvider; + friend class QGeoServiceProviderPrivate; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeocodingmanager_p.h b/libs/qtlocation/src/location/maps/qgeocodingmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..de723eea8a1d1003614249904c61c5eca2838009 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocodingmanager_p.h @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCODINGMANAGER_P_H +#define QGEOCODINGMANAGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeocodingmanager.h" + +#include "qgeocodereply.h" + +#include + +QT_BEGIN_NAMESPACE + +class QGeoCodingManagerEngine; + +class QGeoCodingManagerPrivate +{ +public: + QGeoCodingManagerPrivate(); + ~QGeoCodingManagerPrivate(); + + QGeoCodingManagerEngine *engine; + +private: + Q_DISABLE_COPY(QGeoCodingManagerPrivate) +}; + +QT_END_NAMESPACE + +#endif + diff --git a/libs/qtlocation/src/location/maps/qgeocodingmanagerengine.h b/libs/qtlocation/src/location/maps/qgeocodingmanagerengine.h new file mode 100644 index 0000000000000000000000000000000000000000..3e915758d5f22cc08b7976381670b542115be31a --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocodingmanagerengine.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCODINGMANAGERENGINE_H +#define QGEOCODINGMANAGERENGINE_H + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoAddress; +class QGeoShape; +class QGeoCodingManagerEnginePrivate; + +class Q_LOCATION_EXPORT QGeoCodingManagerEngine : public QObject +{ + Q_OBJECT +public: + QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = 0); + virtual ~QGeoCodingManagerEngine(); + + QString managerName() const; + int managerVersion() const; + + virtual QGeoCodeReply *geocode(const QGeoAddress &address, const QGeoShape &bounds); + virtual QGeoCodeReply *geocode(const QString &address, + int limit, + int offset, + const QGeoShape &bounds); + virtual QGeoCodeReply *reverseGeocode(const QGeoCoordinate &coordinate, + const QGeoShape &bounds); + + + void setLocale(const QLocale &locale); + QLocale locale() const; + +Q_SIGNALS: + void finished(QGeoCodeReply *reply); + void error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString()); + +private: + void setManagerName(const QString &managerName); + void setManagerVersion(int managerVersion); + + QGeoCodingManagerEnginePrivate *d_ptr; + Q_DISABLE_COPY(QGeoCodingManagerEngine) + + friend class QGeoServiceProvider; + friend class QGeoServiceProviderPrivate; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeocodingmanagerengine_p.h b/libs/qtlocation/src/location/maps/qgeocodingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b6fcb683faf0b32d76b56e850087897fa8aa43fb --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeocodingmanagerengine_p.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCODINGMANAGERENGINE_P_H +#define QGEOCODINGMANAGERENGINE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeocodingmanagerengine.h" + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoCodingManagerEnginePrivate +{ +public: + QGeoCodingManagerEnginePrivate(); + ~QGeoCodingManagerEnginePrivate(); + + QString managerName; + int managerVersion; + + QLocale locale; + +private: + Q_DISABLE_COPY(QGeoCodingManagerEnginePrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeomaneuver.h b/libs/qtlocation/src/location/maps/qgeomaneuver.h new file mode 100644 index 0000000000000000000000000000000000000000..9710f8fc511a5e3d17f94df4e9ef21e3273f6037 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomaneuver.h @@ -0,0 +1,104 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMANEUVER_H +#define QGEOMANEUVER_H + +#include +#include + +QT_BEGIN_NAMESPACE + +class QString; + +class QGeoCoordinate; +class QGeoManeuverPrivate; + +class Q_LOCATION_EXPORT QGeoManeuver +{ + +public: + enum InstructionDirection { + NoDirection, + DirectionForward, + DirectionBearRight, + DirectionLightRight, + DirectionRight, + DirectionHardRight, + DirectionUTurnRight, + DirectionUTurnLeft, + DirectionHardLeft, + DirectionLeft, + DirectionLightLeft, + DirectionBearLeft + }; + + QGeoManeuver(); + QGeoManeuver(const QGeoManeuver &other); + ~QGeoManeuver(); + + QGeoManeuver &operator= (const QGeoManeuver &other); + + bool operator== (const QGeoManeuver &other) const; + bool operator!= (const QGeoManeuver &other) const; + + bool isValid() const; + + void setPosition(const QGeoCoordinate &position); + QGeoCoordinate position() const; + + void setInstructionText(const QString &instructionText); + QString instructionText() const; + + void setDirection(InstructionDirection direction); + InstructionDirection direction() const; + + void setTimeToNextInstruction(int secs); + int timeToNextInstruction() const; + + void setDistanceToNextInstruction(qreal distance); + qreal distanceToNextInstruction() const; + + void setWaypoint(const QGeoCoordinate &coordinate); + QGeoCoordinate waypoint() const; + +private: + QSharedDataPointer d_ptr; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeomaneuver_p.h b/libs/qtlocation/src/location/maps/qgeomaneuver_p.h new file mode 100644 index 0000000000000000000000000000000000000000..c048f1327bf80b04e589f31925fa8f7da6466dda --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomaneuver_p.h @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMANEUVER_P_H +#define QGEOMANEUVER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeomaneuver.h" +#include "qgeocoordinate.h" + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoManeuverPrivate : public QSharedData +{ +public: + QGeoManeuverPrivate(); + QGeoManeuverPrivate(const QGeoManeuverPrivate &other); + ~QGeoManeuverPrivate(); + + bool operator== (const QGeoManeuverPrivate &other) const; + + bool valid; + QString id; + QGeoCoordinate position; + QString text; + QGeoManeuver::InstructionDirection direction; + int timeToNextInstruction; + qreal distanceToNextInstruction; + QGeoCoordinate waypoint; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeomap_p.h b/libs/qtlocation/src/location/maps/qgeomap_p.h new file mode 100644 index 0000000000000000000000000000000000000000..9e4d5a0d5bbe62a64a409d28f4b476dc565cf19a --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomap_p.h @@ -0,0 +1,115 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOMAP_P_H +#define QGEOMAP_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeocameradata_p.h" +#include "qgeomaptype_p.h" +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoMappingManagerEngine; +class QGeoMapPrivate; +class QGeoMapController; +class QGeoCameraCapabilities; +class QGeoCoordinate; +class QSGNode; +class QQuickWindow; + +class Q_LOCATION_EXPORT QGeoMap : public QObject +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QGeoMap) + +public: + virtual ~QGeoMap(); + + QGeoMapController *mapController(); + + void resize(int width, int height); + int width() const; + int height() const; + + QGeoCameraData cameraData() const; + + void setActiveMapType(const QGeoMapType mapType); + const QGeoMapType activeMapType() const; + + virtual QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos, bool clipToViewport = true) const = 0; + virtual QDoubleVector2D coordinateToItemPosition(const QGeoCoordinate &coordinate, bool clipToViewport = true) const = 0; + virtual int mapVersion(); + virtual void prefetchData(); + + QString pluginString(); + QGeoCameraCapabilities cameraCapabilities(); + +protected: + QGeoMap(QGeoMapPrivate &dd, QObject *parent = 0); + void setCameraData(const QGeoCameraData &cameraData); + virtual QSGNode *updateSceneGraph(QSGNode *node, QQuickWindow *window) = 0; + +public Q_SLOTS: + void update(); + +Q_SIGNALS: + void cameraDataChanged(const QGeoCameraData &cameraData); + void updateRequired(); + void activeMapTypeChanged(); + void copyrightsChanged(const QImage ©rightsImage); + void copyrightsChanged(const QString ©rightsHtml); + +private: + Q_DISABLE_COPY(QGeoMap) + friend class QGeoMapController; //setCameraData + friend class QDeclarativeGeoMap; //updateSceneGraph +}; + +QT_END_NAMESPACE + +#endif // QGEOMAP_P_H diff --git a/libs/qtlocation/src/location/maps/qgeomap_p_p.h b/libs/qtlocation/src/location/maps/qgeomap_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..e7a23060a4bf3de89aad64451336efd5291b881b --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomap_p_p.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOMAP_P_P_H +#define QGEOMAP_P_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeocameradata_p.h" +#include "qgeomaptype_p.h" +#include + + +QT_BEGIN_NAMESPACE + +class QGeoMappingManagerEngine; +class QGeoMap; +class QGeoMapController; + +class QGeoMapPrivate : public QObjectPrivate +{ + Q_DECLARE_PUBLIC(QGeoMap) +public: + QGeoMapPrivate(QGeoMappingManagerEngine *engine); + virtual ~QGeoMapPrivate(); + + void setCameraData(const QGeoCameraData &cameraData); + void resize(int width, int height); + +protected: + virtual void mapResized(int width, int height) = 0; + virtual void changeCameraData(const QGeoCameraData &oldCameraData) = 0; + virtual void changeActiveMapType(const QGeoMapType mapType) = 0; + +protected: + int m_width; + int m_height; + double m_aspectRatio; + QPointer m_engine; + QString m_pluginString; + QGeoMapController *m_controller; + QGeoCameraData m_cameraData; + QGeoMapType m_activeMapType; +}; + +QT_END_NAMESPACE + +#endif // QGEOMAP_P_P_H diff --git a/libs/qtlocation/src/location/maps/qgeomapcontroller_p.h b/libs/qtlocation/src/location/maps/qgeomapcontroller_p.h new file mode 100644 index 0000000000000000000000000000000000000000..06f2b926db2c474924a30b2453550e5a976084e0 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomapcontroller_p.h @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOMAPCONTROLLER_P_H +#define QGEOMAPCONTROLLER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#include "qgeocoordinate.h" +#include "qgeocameradata_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoMap; + + +class Q_LOCATION_EXPORT QGeoMapController : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter NOTIFY centerChanged) + Q_PROPERTY(qreal bearing READ bearing WRITE setBearing NOTIFY bearingChanged) + Q_PROPERTY(qreal tilt READ tilt WRITE setTilt NOTIFY tiltChanged) + Q_PROPERTY(qreal roll READ roll WRITE setRoll NOTIFY rollChanged) + Q_PROPERTY(qreal zoom READ zoom WRITE setZoom NOTIFY zoomChanged) + +public: + QGeoMapController(QGeoMap *map); + ~QGeoMapController(); + + QGeoCoordinate center() const; + void setCenter(const QGeoCoordinate ¢er); + + void setLatitude(qreal latitude); + void setLongitude(qreal longitude); + void setAltitude(qreal altitude); + + qreal bearing() const; + void setBearing(qreal bearing); + + qreal tilt() const; + void setTilt(qreal tilt); + + qreal roll() const; + void setRoll(qreal roll); + + qreal zoom() const; + void setZoom(qreal zoom); + + void pan(qreal dx, qreal dy); + +private Q_SLOTS: + void cameraDataChanged(const QGeoCameraData &cameraData); + +Q_SIGNALS: + void centerChanged(const QGeoCoordinate ¢er); + void bearingChanged(qreal bearing); + void tiltChanged(qreal tilt); + void rollChanged(qreal roll); + void zoomChanged(qreal zoom); + +private: + QGeoMap *map_; + QGeoCameraData oldCameraData_; +}; + +QT_END_NAMESPACE + +#endif // QGEOMAPCONTROLLER_P_H diff --git a/libs/qtlocation/src/location/maps/qgeomappingmanager_p.h b/libs/qtlocation/src/location/maps/qgeomappingmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..043ebd8f3a6eb0dd70c4b9c40bf9e320d89faf46 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomappingmanager_p.h @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMAPPINGMANAGER_H +#define QGEOMAPPINGMANAGER_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include +#include +#include "qgeomaptype_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoMap; +class QLocale; +class QGeoRectangle; +class QGeoCoordinate; +class QGeoMappingManagerPrivate; +class QGeoMapRequestOptions; +class QGeoMappingManagerEngine; +class QGeoCameraCapabilities; + + +class Q_LOCATION_EXPORT QGeoMappingManager : public QObject +{ + Q_OBJECT + +public: + ~QGeoMappingManager(); + + QString managerName() const; + int managerVersion() const; + + QGeoMap *createMap(QObject *parent); + + QList supportedMapTypes() const; + + bool isInitialized() const; + + QGeoCameraCapabilities cameraCapabilities() const; + + void setLocale(const QLocale &locale); + QLocale locale() const; + +Q_SIGNALS: + void initialized(); + +protected: + QGeoMappingManager(QGeoMappingManagerEngine *engine, QObject *parent = 0); + +private: + QGeoMappingManagerPrivate *d_ptr; + Q_DISABLE_COPY(QGeoMappingManager) + + friend class QGeoServiceProvider; + friend class QGeoServiceProviderPrivate; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeomappingmanager_p_p.h b/libs/qtlocation/src/location/maps/qgeomappingmanager_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..65d1b5ef3cb8c160f6935584cecb03c1d3bb86e5 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomappingmanager_p_p.h @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMAPPINGMANAGER_P_H +#define QGEOMAPPINGMANAGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoMappingManagerPrivate +{ +public: + QGeoMappingManagerPrivate(); + ~QGeoMappingManagerPrivate(); + + QGeoMappingManagerEngine *engine; + +private: + Q_DISABLE_COPY(QGeoMappingManagerPrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeomappingmanagerengine_p.h b/libs/qtlocation/src/location/maps/qgeomappingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b9565d8761886de643c273531359e0e3c29f2943 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomappingmanagerengine_p.h @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMAPPINGMANAGERENGINE_H +#define QGEOMAPPINGMANAGERENGINE_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "qgeomaptype_p.h" +#include "qgeomappingmanager_p.h" + +QT_BEGIN_NAMESPACE + +class QLocale; + +class QGeoRectangle; +class QGeoCoordinate; +class QGeoMappingManagerPrivate; +class QGeoMapRequestOptions; + +class QGeoMappingManagerEnginePrivate; +class QGeoMap; + +class Q_LOCATION_EXPORT QGeoMappingManagerEngine : public QObject +{ + Q_OBJECT + +public: + explicit QGeoMappingManagerEngine(QObject *parent = 0); + virtual ~QGeoMappingManagerEngine(); + + virtual QGeoMap *createMap() = 0; + virtual void registerMap(QGeoMap *map) = 0; + virtual void deregisterMap(QGeoMap *map) = 0; + + QVariantMap parameters() const; + + QString managerName() const; + int managerVersion() const; + + QList supportedMapTypes() const; + + QGeoCameraCapabilities cameraCapabilities(); + + void setLocale(const QLocale &locale); + QLocale locale() const; + + bool isInitialized() const; + +Q_SIGNALS: + void initialized(); + +protected: + void setSupportedMapTypes(const QList &supportedMapTypes); + void setCameraCapabilities(const QGeoCameraCapabilities &capabilities); + + void engineInitialized(); + +private: + QGeoMappingManagerEnginePrivate *d_ptr; + + void setManagerName(const QString &managerName); + void setManagerVersion(int managerVersion); + + Q_DECLARE_PRIVATE(QGeoMappingManagerEngine) + Q_DISABLE_COPY(QGeoMappingManagerEngine) + + friend class QGeoServiceProvider; + friend class QGeoServiceProviderPrivate; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeomappingmanagerengine_p_p.h b/libs/qtlocation/src/location/maps/qgeomappingmanagerengine_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..54426868a68d6a50b0ce2295ff017b7c558c0a72 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomappingmanagerengine_p_p.h @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMAPPINGMANAGERENGINE_P_H +#define QGEOMAPPINGMANAGERENGINE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include +#include +#include +#include +#include "qgeomaptype_p.h" +#include "qgeomappingmanager_p.h" +#include "qgeocameracapabilities_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoTileSpec; +class QGeoTiledMapReply; + +class QGeoMappingManagerEnginePrivate +{ +public: + QGeoMappingManagerEnginePrivate(); + ~QGeoMappingManagerEnginePrivate(); + + QString managerName; + int managerVersion; + + QList supportedMapTypes; + QGeoCameraCapabilities capabilities_; + + QLocale locale; + bool initialized; + +private: + Q_DISABLE_COPY(QGeoMappingManagerEnginePrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeomapscene_p.h b/libs/qtlocation/src/location/maps/qgeomapscene_p.h new file mode 100644 index 0000000000000000000000000000000000000000..a4a9e4e4b42bcfca03060baf730ca5736c643fa9 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomapscene_p.h @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOMAPSCENE_P_H +#define QGEOMAPSCENE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoCameraData; +class QGeoTileSpec; +class QDoubleVector2D; +class QGeoTileTexture; +class QSGNode; +class QQuickWindow; +class QGeoMapScenePrivate; + +class Q_LOCATION_EXPORT QGeoMapScene : public QObject +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QGeoMapScene) +public: + explicit QGeoMapScene(QObject *parent = 0); + virtual ~QGeoMapScene(); + + void setScreenSize(const QSize &size); + void setTileSize(int tileSize); + void setCameraData(const QGeoCameraData &cameraData); + + void setVisibleTiles(const QSet &tiles); + + void setUseVerticalLock(bool lock); + + void addTile(const QGeoTileSpec &spec, QSharedPointer texture); + + QDoubleVector2D itemPositionToMercator(const QDoubleVector2D &pos) const; + QDoubleVector2D mercatorToItemPosition(const QDoubleVector2D &mercator) const; + + QSGNode *updateSceneGraph(QSGNode *oldNode, QQuickWindow *window); + + bool verticalLock() const; + QSet texturedTiles(); + +Q_SIGNALS: + void newTilesVisible(const QSet &newTiles); + +private: + Q_DISABLE_COPY(QGeoMapScene) +}; + +QT_END_NAMESPACE + +#endif // QGEOMAPSCENE_P_H diff --git a/libs/qtlocation/src/location/maps/qgeomaptype_p.h b/libs/qtlocation/src/location/maps/qgeomaptype_p.h new file mode 100644 index 0000000000000000000000000000000000000000..78c741689c1b08e869c2bfba1e1b76eb8c525fb7 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomaptype_p.h @@ -0,0 +1,101 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMAPTYPE_H +#define QGEOMAPTYPE_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoMapTypePrivate; + +class Q_LOCATION_EXPORT QGeoMapType +{ +public: + enum MapStyle { + NoMap = 0, + StreetMap, + SatelliteMapDay, + SatelliteMapNight, + TerrainMap, + HybridMap, + TransitMap, + GrayStreetMap, + PedestrianMap, + CarNavigationMap, + CycleMap, + CustomMap = 100 + }; + + QGeoMapType(); + QGeoMapType(const QGeoMapType &other); + QGeoMapType(MapStyle style, const QString &name, const QString &description, bool mobile, + bool night, int mapId); + ~QGeoMapType(); + + QGeoMapType &operator = (const QGeoMapType &other); + + bool operator == (const QGeoMapType &other) const; + bool operator != (const QGeoMapType &other) const; + + MapStyle style() const; + QString name() const; + QString description() const; + bool mobile() const; + bool night() const; + int mapId() const; + +private: + QSharedDataPointer d_ptr; +}; + +QT_END_NAMESPACE + +#endif // QGEOMAPTYPE_H diff --git a/libs/qtlocation/src/location/maps/qgeomaptype_p_p.h b/libs/qtlocation/src/location/maps/qgeomaptype_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..2aafd37b73fdfe9c44c4d3e0b86a9cb2e52b1c76 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeomaptype_p_p.h @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOMAPTYPE_P_H +#define QGEOMAPTYPE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include + +#include "qgeomaptype_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoMapTypePrivate : public QSharedData +{ +public: + QGeoMapTypePrivate(); + QGeoMapTypePrivate(QGeoMapType::MapStyle style, const QString &name, const QString &description, bool mobile, bool night, int mapId); + QGeoMapTypePrivate(const QGeoMapTypePrivate &other); + ~QGeoMapTypePrivate(); + + QGeoMapTypePrivate &operator = (const QGeoMapTypePrivate &other); + + bool operator == (const QGeoMapTypePrivate &other) const; + + QGeoMapType::MapStyle style_; + QString name_; + QString description_; + bool mobile_; + bool night_; + int mapId_; +}; + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoMapTypePrivate) + +#endif // QGEOMAPTYPE_P_H diff --git a/libs/qtlocation/src/location/maps/qgeoroute.h b/libs/qtlocation/src/location/maps/qgeoroute.h new file mode 100644 index 0000000000000000000000000000000000000000..68e73c0946cce2e3605a02ba772a070e2c0e5e97 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroute.h @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTE_H +#define QGEOROUTE_H + +#include +#include + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoRectangle; +class QGeoRouteSegment; + +class QGeoRoutePrivate; + +class Q_LOCATION_EXPORT QGeoRoute +{ +public: + QGeoRoute(); + QGeoRoute(const QGeoRoute &other); + ~QGeoRoute(); + + QGeoRoute &operator = (const QGeoRoute &other); + + bool operator == (const QGeoRoute &other) const; + bool operator != (const QGeoRoute &other) const; + + void setRouteId(const QString &id); + QString routeId() const; + + void setRequest(const QGeoRouteRequest &request); + QGeoRouteRequest request() const; + + void setBounds(const QGeoRectangle &bounds); + QGeoRectangle bounds() const; + + void setFirstRouteSegment(const QGeoRouteSegment &routeSegment); + QGeoRouteSegment firstRouteSegment() const; + + void setTravelTime(int secs); + int travelTime() const; + + void setDistance(qreal distance); + qreal distance() const; + + void setTravelMode(QGeoRouteRequest::TravelMode mode); + QGeoRouteRequest::TravelMode travelMode() const; + + void setPath(const QList &path); + QList path() const; + +private: + QExplicitlySharedDataPointer d_ptr; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroute_p.h b/libs/qtlocation/src/location/maps/qgeoroute_p.h new file mode 100644 index 0000000000000000000000000000000000000000..66ef3c684115653b0a37b971fa906eff01414679 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroute_p.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTE_P_H +#define QGEOROUTE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeoroute.h" +#include "qgeorouterequest.h" +#include "qgeorectangle.h" +#include "qgeoroutesegment.h" + +#include + +QT_BEGIN_NAMESPACE + +class QGeoCoordinate; + +class QGeoRoutePrivate : public QSharedData +{ +public: + QGeoRoutePrivate(); + QGeoRoutePrivate(const QGeoRoutePrivate &other); + ~QGeoRoutePrivate(); + + bool operator == (const QGeoRoutePrivate &other) const; + + QString id; + QGeoRouteRequest request; + + QGeoRectangle bounds; +// QList routeSegments; + + int travelTime; + qreal distance; + + QGeoRouteRequest::TravelMode travelMode; + + QList path; + + QGeoRouteSegment firstSegment; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutereply.h b/libs/qtlocation/src/location/maps/qgeoroutereply.h new file mode 100644 index 0000000000000000000000000000000000000000..52f9133d8b81b6495eac3c05017cd18f39fa08c4 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutereply.h @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTEREPLY_H +#define QGEOROUTEREPLY_H + +#include + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoRouteRequest; +class QGeoRouteReplyPrivate; + +class Q_LOCATION_EXPORT QGeoRouteReply : public QObject +{ + Q_OBJECT +public: + enum Error { + NoError, + EngineNotSetError, + CommunicationError, + ParseError, + UnsupportedOptionError, + UnknownError + }; + + QGeoRouteReply(Error error, const QString &errorString, QObject *parent = 0); + virtual ~QGeoRouteReply(); + + bool isFinished() const; + Error error() const; + QString errorString() const; + + QGeoRouteRequest request() const; + QList routes() const; + + virtual void abort(); + +Q_SIGNALS: + void finished(); + void error(QGeoRouteReply::Error error, const QString &errorString = QString()); + +protected: + QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = 0); + + void setError(Error error, const QString &errorString); + void setFinished(bool finished); + + void setRoutes(const QList &routes); + void addRoutes(const QList &routes); + +private: + QGeoRouteReplyPrivate *d_ptr; + Q_DISABLE_COPY(QGeoRouteReply) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutereply_p.h b/libs/qtlocation/src/location/maps/qgeoroutereply_p.h new file mode 100644 index 0000000000000000000000000000000000000000..496a6165cf221d99a0f80ad330812fdb25c145b6 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutereply_p.h @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTEREPLY_P_H +#define QGEOROUTEREPLY_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeorouterequest.h" +#include "qgeoroutereply.h" + +#include + +QT_BEGIN_NAMESPACE + +class QGeoRoute; + +class QGeoRouteReplyPrivate +{ +public: + explicit QGeoRouteReplyPrivate(const QGeoRouteRequest &request); + QGeoRouteReplyPrivate(QGeoRouteReply::Error error, QString errorString); + ~QGeoRouteReplyPrivate(); + + QGeoRouteReply::Error error; + QString errorString; + bool isFinished; + + QGeoRouteRequest request; + QList routes; + +private: + Q_DISABLE_COPY(QGeoRouteReplyPrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeorouterequest.h b/libs/qtlocation/src/location/maps/qgeorouterequest.h new file mode 100644 index 0000000000000000000000000000000000000000..1692bbbc2826bb885de690bf982307951b3e7a5f --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeorouterequest.h @@ -0,0 +1,161 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTEREQUEST_H +#define QGEOROUTEREQUEST_H + +#include +#include +#include + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoRectangle; +class QGeoRouteRequestPrivate; + +class Q_LOCATION_EXPORT QGeoRouteRequest +{ +public: + enum TravelMode { + CarTravel = 0x0001, + PedestrianTravel = 0x0002, + BicycleTravel = 0x0004, + PublicTransitTravel = 0x0008, + TruckTravel = 0x0010 + }; + Q_DECLARE_FLAGS(TravelModes, TravelMode) + + enum FeatureType { + NoFeature = 0x00000000, + TollFeature = 0x00000001, + HighwayFeature = 0x00000002, + PublicTransitFeature = 0x00000004, + FerryFeature = 0x00000008, + TunnelFeature = 0x00000010, + DirtRoadFeature = 0x00000020, + ParksFeature = 0x00000040, + MotorPoolLaneFeature = 0x00000080 + }; + Q_DECLARE_FLAGS(FeatureTypes, FeatureType) + + enum FeatureWeight { + NeutralFeatureWeight = 0x00000000, + PreferFeatureWeight = 0x00000001, + RequireFeatureWeight = 0x00000002, + AvoidFeatureWeight = 0x00000004, + DisallowFeatureWeight = 0x00000008 + }; + Q_DECLARE_FLAGS(FeatureWeights, FeatureWeight) + + enum RouteOptimization { + ShortestRoute = 0x0001, + FastestRoute = 0x0002, + MostEconomicRoute = 0x0004, + MostScenicRoute = 0x0008 + }; + Q_DECLARE_FLAGS(RouteOptimizations, RouteOptimization) + + enum SegmentDetail { + NoSegmentData = 0x0000, + BasicSegmentData = 0x0001 + }; + Q_DECLARE_FLAGS(SegmentDetails, SegmentDetail) + + enum ManeuverDetail { + NoManeuvers = 0x0000, + BasicManeuvers = 0x0001 + }; + Q_DECLARE_FLAGS(ManeuverDetails, ManeuverDetail) + + explicit QGeoRouteRequest(const QList &waypoints = QList()); + QGeoRouteRequest(const QGeoCoordinate &origin, + const QGeoCoordinate &destination); + QGeoRouteRequest(const QGeoRouteRequest &other); + + ~QGeoRouteRequest(); + + QGeoRouteRequest &operator= (const QGeoRouteRequest &other); + + bool operator == (const QGeoRouteRequest &other) const; + bool operator != (const QGeoRouteRequest &other) const; + + void setWaypoints(const QList &waypoints); + QList waypoints() const; + + void setExcludeAreas(const QList &areas); + QList excludeAreas() const; + + // defaults to 0 + void setNumberAlternativeRoutes(int alternatives); + int numberAlternativeRoutes() const; + + // defaults to TravelByCar + void setTravelModes(TravelModes travelModes); + TravelModes travelModes() const; + + void setFeatureWeight(FeatureType featureType, FeatureWeight featureWeight); + FeatureWeight featureWeight(FeatureType featureType) const; + QList featureTypes() const; + + // defaults to OptimizeFastest + void setRouteOptimization(RouteOptimizations optimization); + RouteOptimizations routeOptimization() const; + + // defaults to BasicSegmentData + void setSegmentDetail(SegmentDetail segmentDetail); + SegmentDetail segmentDetail() const; + + // defaults to BasicManeuvers + void setManeuverDetail(ManeuverDetail maneuverDetail); + ManeuverDetail maneuverDetail() const; + +private: + QExplicitlySharedDataPointer d_ptr; +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::TravelModes) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::FeatureTypes) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::FeatureWeights) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::RouteOptimizations) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::SegmentDetails) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::ManeuverDetails) + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeorouterequest_p.h b/libs/qtlocation/src/location/maps/qgeorouterequest_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ea0b1428fb09a0cd8f63da18c6f3f23503f41b74 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeorouterequest_p.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTEREQUEST_P_H +#define QGEOROUTEREQUEST_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeorouterequest.h" + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoRouteRequestPrivate : public QSharedData +{ +public: + QGeoRouteRequestPrivate(); + QGeoRouteRequestPrivate(const QGeoRouteRequestPrivate &other); + ~QGeoRouteRequestPrivate(); + + bool operator ==(const QGeoRouteRequestPrivate &other) const; + + QList waypoints; + QList excludeAreas; + int numberAlternativeRoutes; + QGeoRouteRequest::TravelModes travelModes; + QMap < QGeoRouteRequest::FeatureType, + QGeoRouteRequest::FeatureWeight > featureWeights; + QGeoRouteRequest::RouteOptimizations routeOptimization; + QGeoRouteRequest::SegmentDetail segmentDetail; + QGeoRouteRequest::ManeuverDetail maneuverDetail; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutesegment.h b/libs/qtlocation/src/location/maps/qgeoroutesegment.h new file mode 100644 index 0000000000000000000000000000000000000000..bddc172c0c35f83419ce5065f9bb99bfe0e21a5f --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutesegment.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTESEGMENT_H +#define QGEOROUTESEGMENT_H + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoCoordinate; +class QGeoManeuver; +class QGeoRouteSegmentPrivate; + +class Q_LOCATION_EXPORT QGeoRouteSegment +{ + +public: + QGeoRouteSegment(); + QGeoRouteSegment(const QGeoRouteSegment &other); + ~QGeoRouteSegment(); + + QGeoRouteSegment &operator= (const QGeoRouteSegment &other); + + bool operator ==(const QGeoRouteSegment &other) const; + bool operator !=(const QGeoRouteSegment &other) const; + + bool isValid() const; + + void setNextRouteSegment(const QGeoRouteSegment &routeSegment); + QGeoRouteSegment nextRouteSegment() const; + + void setTravelTime(int secs); + int travelTime() const; + + void setDistance(qreal distance); + qreal distance() const; + + void setPath(const QList &path); + QList path() const; + + void setManeuver(const QGeoManeuver &maneuver); + QGeoManeuver maneuver() const; + +protected: + QGeoRouteSegment(QExplicitlySharedDataPointer &d_ptr); + +private: + QExplicitlySharedDataPointer d_ptr; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutesegment_p.h b/libs/qtlocation/src/location/maps/qgeoroutesegment_p.h new file mode 100644 index 0000000000000000000000000000000000000000..1751266a1ac58640c3512ad903b082ca9fa96d1a --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutesegment_p.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTESEGMENT_P_H +#define QGEOROUTESEGMENT_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeomaneuver.h" + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoCoordinate; + +class QGeoRouteSegmentPrivate : public QSharedData +{ +public: + QGeoRouteSegmentPrivate(); + QGeoRouteSegmentPrivate(const QGeoRouteSegmentPrivate &other); + ~QGeoRouteSegmentPrivate(); + + bool operator ==(const QGeoRouteSegmentPrivate &other) const; + + bool valid; + + int travelTime; + qreal distance; + QList path; + QGeoManeuver maneuver; + + QExplicitlySharedDataPointer nextSegment; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutingmanager.h b/libs/qtlocation/src/location/maps/qgeoroutingmanager.h new file mode 100644 index 0000000000000000000000000000000000000000..0648a15b35a159cb64b4e89a818939fafa998ae8 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutingmanager.h @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTINGMANAGER_H +#define QGEOROUTINGMANAGER_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoRoutingManagerEngine; +class QGeoRoutingManagerPrivate; + +class Q_LOCATION_EXPORT QGeoRoutingManager : public QObject +{ + Q_OBJECT + +public: + ~QGeoRoutingManager(); + + QString managerName() const; + int managerVersion() const; + + QGeoRouteReply *calculateRoute(const QGeoRouteRequest &request); + QGeoRouteReply *updateRoute(const QGeoRoute &route, const QGeoCoordinate &position); + + QGeoRouteRequest::TravelModes supportedTravelModes() const; + QGeoRouteRequest::FeatureTypes supportedFeatureTypes() const; + QGeoRouteRequest::FeatureWeights supportedFeatureWeights() const; + QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations() const; + QGeoRouteRequest::SegmentDetails supportedSegmentDetails() const; + QGeoRouteRequest::ManeuverDetails supportedManeuverDetails() const; + + void setLocale(const QLocale &locale); + QLocale locale() const; + void setMeasurementSystem(QLocale::MeasurementSystem system); + QLocale::MeasurementSystem measurementSystem() const; + +Q_SIGNALS: + void finished(QGeoRouteReply *reply); + void error(QGeoRouteReply *reply, QGeoRouteReply::Error error, QString errorString = QString()); + +private: + QGeoRoutingManager(QGeoRoutingManagerEngine *engine, QObject *parent = 0); + + QGeoRoutingManagerPrivate *d_ptr; + Q_DISABLE_COPY(QGeoRoutingManager) + + friend class QGeoServiceProvider; + friend class QGeoServiceProviderPrivate; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutingmanager_p.h b/libs/qtlocation/src/location/maps/qgeoroutingmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b3a9f2f788524c274e21a0f39441721dbb9ce60d --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutingmanager_p.h @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTINGMANAGER_P_H +#define QGEOROUTINGMANAGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +QT_BEGIN_NAMESPACE + +class QGeoRoutingManagerEngine; + +class QGeoRoutingManagerPrivate +{ +public: + QGeoRoutingManagerPrivate(); + ~QGeoRoutingManagerPrivate(); + + QGeoRoutingManagerEngine *engine; + +private: + Q_DISABLE_COPY(QGeoRoutingManagerPrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutingmanagerengine.h b/libs/qtlocation/src/location/maps/qgeoroutingmanagerengine.h new file mode 100644 index 0000000000000000000000000000000000000000..9fa02727f84007b267820594107a93123e25b9dc --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutingmanagerengine.h @@ -0,0 +1,100 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTINGMANAGERENGINE_H +#define QGEOROUTINGMANAGERENGINE_H + +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoRoutingManagerEnginePrivate; + +class Q_LOCATION_EXPORT QGeoRoutingManagerEngine : public QObject +{ + Q_OBJECT +public: + QGeoRoutingManagerEngine(const QVariantMap ¶meters, QObject *parent = 0); + virtual ~QGeoRoutingManagerEngine(); + + QString managerName() const; + int managerVersion() const; + + virtual QGeoRouteReply *calculateRoute(const QGeoRouteRequest &request) = 0; + virtual QGeoRouteReply *updateRoute(const QGeoRoute &route, const QGeoCoordinate &position); + + QGeoRouteRequest::TravelModes supportedTravelModes() const; + QGeoRouteRequest::FeatureTypes supportedFeatureTypes() const; + QGeoRouteRequest::FeatureWeights supportedFeatureWeights() const; + QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations() const; + QGeoRouteRequest::SegmentDetails supportedSegmentDetails() const; + QGeoRouteRequest::ManeuverDetails supportedManeuverDetails() const; + + void setLocale(const QLocale &locale); + QLocale locale() const; + void setMeasurementSystem(QLocale::MeasurementSystem system); + QLocale::MeasurementSystem measurementSystem() const; + +Q_SIGNALS: + void finished(QGeoRouteReply *reply); + void error(QGeoRouteReply *reply, QGeoRouteReply::Error error, QString errorString = QString()); + +protected: + void setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes); + void setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes); + void setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights); + void setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations); + void setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails); + void setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails); + +private: + void setManagerName(const QString &managerName); + void setManagerVersion(int managerVersion); + + QGeoRoutingManagerEnginePrivate *d_ptr; + Q_DISABLE_COPY(QGeoRoutingManagerEngine) + + friend class QGeoServiceProvider; + friend class QGeoServiceProviderPrivate; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoroutingmanagerengine_p.h b/libs/qtlocation/src/location/maps/qgeoroutingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..7ba6c3d3117c53691cb267e145de695d77832feb --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoroutingmanagerengine_p.h @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOROUTINGMANAGERENGINE_P_H +#define QGEOROUTINGMANAGERENGINE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeorouterequest.h" + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoRoutingManagerEnginePrivate +{ +public: + QGeoRoutingManagerEnginePrivate(); + ~QGeoRoutingManagerEnginePrivate(); + + QString managerName; + int managerVersion; + + QGeoRouteRequest::TravelModes supportedTravelModes; + QGeoRouteRequest::FeatureTypes supportedFeatureTypes; + QGeoRouteRequest::FeatureWeights supportedFeatureWeights; + QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations; + QGeoRouteRequest::SegmentDetails supportedSegmentDetails; + QGeoRouteRequest::ManeuverDetails supportedManeuverDetails; + + QLocale locale; + QLocale::MeasurementSystem measurementSystem; + +private: + Q_DISABLE_COPY(QGeoRoutingManagerEnginePrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoserviceprovider.h b/libs/qtlocation/src/location/maps/qgeoserviceprovider.h new file mode 100644 index 0000000000000000000000000000000000000000..ea8c2b6173c0bda4be99ec1323c20e8343f517e0 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoserviceprovider.h @@ -0,0 +1,163 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOSERVICEPROVIDER_H +#define QGEOSERVICEPROVIDER_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QLocale; +class QStringList; +class QGeoCodingManager; +class QGeoMappingManager; +class QGeoRoutingManager; +class QPlaceManager; +class QGeoCodingManagerEngine; +class QGeoMappingManagerEngine; +class QGeoRoutingManagerEngine; +class QPlaceManagerEngine; +class QGeoServiceProviderPrivate; + +class Q_LOCATION_EXPORT QGeoServiceProvider : public QObject +{ + Q_OBJECT + Q_ENUMS(Error) +public: + enum Error { + NoError, + NotSupportedError, + UnknownParameterError, + MissingRequiredParameterError, + ConnectionError + }; + + enum RoutingFeature { + NoRoutingFeatures = 0, + OnlineRoutingFeature = (1<<0), + OfflineRoutingFeature = (1<<1), + LocalizedRoutingFeature = (1<<2), + RouteUpdatesFeature = (1<<3), + AlternativeRoutesFeature = (1<<4), + ExcludeAreasRoutingFeature = (1<<5), + AnyRoutingFeatures = ~(0) + }; + + enum GeocodingFeature { + NoGeocodingFeatures = 0, + OnlineGeocodingFeature = (1<<0), + OfflineGeocodingFeature = (1<<1), + ReverseGeocodingFeature = (1<<2), + LocalizedGeocodingFeature = (1<<3), + AnyGeocodingFeatures = ~(0) + }; + + enum MappingFeature { + NoMappingFeatures = 0, + OnlineMappingFeature = (1<<0), + OfflineMappingFeature = (1<<1), + LocalizedMappingFeature = (1<<2), + AnyMappingFeatures = ~(0) + }; + + enum PlacesFeature { + NoPlacesFeatures = 0, + OnlinePlacesFeature = (1<<0), + OfflinePlacesFeature = (1<<1), + SavePlaceFeature = (1<<2), + RemovePlaceFeature = (1<<3), + SaveCategoryFeature = (1<<4), + RemoveCategoryFeature = (1<<5), + PlaceRecommendationsFeature = (1<<6), + SearchSuggestionsFeature = (1<<7), + LocalizedPlacesFeature = (1<<8), + NotificationsFeature = (1<<9), + PlaceMatchingFeature = (1<<10), + AnyPlacesFeatures = ~(0) + }; + + Q_DECLARE_FLAGS(RoutingFeatures, RoutingFeature) + Q_FLAGS(RoutingFeatures) + + Q_DECLARE_FLAGS(GeocodingFeatures, GeocodingFeature) + Q_FLAGS(GeocodingFeatures) + + Q_DECLARE_FLAGS(MappingFeatures, MappingFeature) + Q_FLAGS(MappingFeatures) + + Q_DECLARE_FLAGS(PlacesFeatures, PlacesFeature) + Q_FLAGS(PlacesFeatures) + + static QStringList availableServiceProviders(); + QGeoServiceProvider(const QString &providerName, + const QVariantMap ¶meters = QVariantMap(), + bool allowExperimental = false); + + ~QGeoServiceProvider(); + + RoutingFeatures routingFeatures() const; + GeocodingFeatures geocodingFeatures() const; + MappingFeatures mappingFeatures() const; + PlacesFeatures placesFeatures() const; + + QGeoCodingManager *geocodingManager() const; + QGeoMappingManager *mappingManager() const; + QGeoRoutingManager *routingManager() const; + QPlaceManager *placeManager() const; + + Error error() const; + QString errorString() const; + + void setParameters(const QVariantMap ¶meters); + void setLocale(const QLocale &locale); + void setAllowExperimental(bool allow); + +private: + QGeoServiceProviderPrivate *d_ptr; +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoServiceProvider::RoutingFeatures) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoServiceProvider::GeocodingFeatures) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoServiceProvider::MappingFeatures) +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoServiceProvider::PlacesFeatures) + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoserviceprovider_p.h b/libs/qtlocation/src/location/maps/qgeoserviceprovider_p.h new file mode 100644 index 0000000000000000000000000000000000000000..6bfb9b26189968c148eb24dbb9e8502e38659054 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoserviceprovider_p.h @@ -0,0 +1,121 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOSERVICEPROVIDER_P_H +#define QGEOSERVICEPROVIDER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeoserviceprovider.h" + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoCodingManager; +class QGeoRoutingManager; +class QGeoMappingManager; + +class QGeoServiceProviderFactory; + +class QGeoServiceProviderPrivate +{ +public: + QGeoServiceProviderPrivate(); + ~QGeoServiceProviderPrivate(); + + void loadMeta(); + void loadPlugin(const QVariantMap ¶meters); + void unload(); + void filterParameterMap(); + + /* helper templates for generating the feature and manager accessors */ + template + Manager *manager(QGeoServiceProvider::Error *error, + QString *errorString, Manager **manager); + template + Flags features(const char *enumName); + + QGeoServiceProviderFactory *factory; + QJsonObject metaData; + + QVariantMap parameterMap; + QVariantMap cleanedParameterMap; + + bool experimental; + + QGeoCodingManager *geocodingManager; + QGeoRoutingManager *routingManager; + QGeoMappingManager *mappingManager; + QPlaceManager *placeManager; + + QGeoServiceProvider::Error geocodeError; + QGeoServiceProvider::Error routingError; + QGeoServiceProvider::Error mappingError; + QGeoServiceProvider::Error placeError; + + QString geocodeErrorString; + QString routingErrorString; + QString mappingErrorString; + QString placeErrorString; + + QGeoServiceProvider::Error error; + QString errorString; + + QString providerName; + + QLocale locale; + bool localeSet; + + static QHash plugins(bool reload = false); + static void loadPluginMetadata(QHash &list); +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeoserviceproviderfactory.h b/libs/qtlocation/src/location/maps/qgeoserviceproviderfactory.h new file mode 100644 index 0000000000000000000000000000000000000000..cc60cf7c68c7cb9d987a7e1bb792dd7b76a89a5d --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeoserviceproviderfactory.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOSERVICEPROVIDERFACTORY_H +#define QGEOSERVICEPROVIDERFACTORY_H + +#include + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Q_LOCATION_EXPORT QGeoServiceProviderFactory +{ +public: + virtual ~QGeoServiceProviderFactory() {} + + virtual QGeoCodingManagerEngine *createGeocodingManagerEngine(const QVariantMap ¶meters, + QGeoServiceProvider::Error *error, + QString *errorString) const; + virtual QGeoMappingManagerEngine *createMappingManagerEngine(const QVariantMap ¶meters, + QGeoServiceProvider::Error *error, + QString *errorString) const; + virtual QGeoRoutingManagerEngine *createRoutingManagerEngine(const QVariantMap ¶meters, + QGeoServiceProvider::Error *error, + QString *errorString) const; + virtual QPlaceManagerEngine *createPlaceManagerEngine(const QVariantMap ¶meters, + QGeoServiceProvider::Error *error, + QString *errorString) const; +}; + +Q_DECLARE_INTERFACE(QGeoServiceProviderFactory, + "org.qt-project.qt.geoservice.serviceproviderfactory/5.0") + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeotilecache_p.h b/libs/qtlocation/src/location/maps/qgeotilecache_p.h new file mode 100644 index 0000000000000000000000000000000000000000..9cf31db0afd327f77ade652efd4825a40e0364bd --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotilecache_p.h @@ -0,0 +1,168 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOTILECACHE_P_H +#define QGEOTILECACHE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#include +#include +#include "qcache3q_p.h" +#include +#include +#include + +#include "qgeotilespec_p.h" +#include "qgeotiledmappingmanagerengine_p.h" + +#include + +QT_BEGIN_NAMESPACE + +class QGeoMappingManager; + +class QGeoTile; +class QGeoCachedTileMemory; +class QGeoTileCache; + +class QPixmap; +class QThread; + +/* This would be internal to qgeotilecache.cpp except that the eviction + * policy can't be defined without it being concrete here */ +class QGeoCachedTileDisk +{ +public: + ~QGeoCachedTileDisk(); + + QGeoTileSpec spec; + QString filename; + QString format; + QGeoTileCache *cache; +}; + +/* This is also used in the mapgeometry */ +class Q_LOCATION_EXPORT QGeoTileTexture +{ +public: + + QGeoTileTexture(); + ~QGeoTileTexture(); + + QGeoTileSpec spec; + QImage image; + bool textureBound; +}; + +/* Custom eviction policy for the disk cache, to avoid deleting all the files + * when the application closes */ +class QCache3QTileEvictionPolicy : public QCache3QDefaultEvictionPolicy +{ +protected: + void aboutToBeRemoved(const QGeoTileSpec &key, QSharedPointer obj); + void aboutToBeEvicted(const QGeoTileSpec &key, QSharedPointer obj); +}; + +class Q_LOCATION_EXPORT QGeoTileCache : public QObject +{ + Q_OBJECT +public: + QGeoTileCache(const QString &directory = QString(), QObject *parent = 0); + ~QGeoTileCache(); + + void setMaxDiskUsage(int diskUsage); + int maxDiskUsage() const; + int diskUsage() const; + + void setMaxMemoryUsage(int memoryUsage); + int maxMemoryUsage() const; + int memoryUsage() const; + + void setMinTextureUsage(int textureUsage); + void setExtraTextureUsage(int textureUsage); + int maxTextureUsage() const; + int minTextureUsage() const; + int textureUsage() const; + + QSharedPointer get(const QGeoTileSpec &spec); + QString directory() const; + + // can be called without a specific tileCache pointer + static void evictFromDiskCache(QGeoCachedTileDisk *td); + static void evictFromMemoryCache(QGeoCachedTileMemory *tm); + + void insert(const QGeoTileSpec &spec, + const QByteArray &bytes, + const QString &format, + QGeoTiledMappingManagerEngine::CacheAreas areas = QGeoTiledMappingManagerEngine::AllCaches); + void handleError(const QGeoTileSpec &spec, const QString &errorString); + +public Q_SLOTS: + void printStats(); + +private: + void loadTiles(); + + QSharedPointer addToDiskCache(const QGeoTileSpec &spec, const QString &filename); + QSharedPointer addToMemoryCache(const QGeoTileSpec &spec, const QByteArray &bytes, const QString &format); + QSharedPointer addToTextureCache(const QGeoTileSpec &spec, const QPixmap &pixmap); + + static QString tileSpecToFilename(const QGeoTileSpec &spec, const QString &format, const QString &directory); + static QGeoTileSpec filenameToTileSpec(const QString &filename); + + QString directory_; + QCache3Q diskCache_; + QCache3Q memoryCache_; + QCache3Q textureCache_; + + int minTextureUsage_; + int extraTextureUsage_; +}; + +QT_END_NAMESPACE + +#endif // QGEOTILECACHE_P_H diff --git a/libs/qtlocation/src/location/maps/qgeotiledmap_p.h b/libs/qtlocation/src/location/maps/qgeotiledmap_p.h new file mode 100644 index 0000000000000000000000000000000000000000..2dbf1754f597028ff4d07966fe73f33f5afe0e2d --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotiledmap_p.h @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOTILEDMAP_P_H +#define QGEOTILEDMAP_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include + +#include "qgeomap_p.h" +#include "qgeocameradata_p.h" +#include "qgeomaptype_p.h" + +#include + +QT_BEGIN_NAMESPACE + +class QGeoTileSpec; +class QGeoTileTexture; +class QGeoTileCache; +class QGeoTiledMapPrivate; +class QGeoTiledMappingManagerEngine; +class QGeoTileRequestManager; + +class QQuickWindow; +class QSGNode; + +class QPointF; + +class Q_LOCATION_EXPORT QGeoTiledMap : public QGeoMap +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QGeoTiledMap) + +public: + QGeoTiledMap(QGeoTiledMappingManagerEngine *engine, QObject *parent); + virtual ~QGeoTiledMap(); + + QGeoTileCache *tileCache(); + QGeoTileRequestManager *requestManager(); + void updateTile(const QGeoTileSpec &spec); + + QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos, bool clipToViewport = true) const Q_DECL_OVERRIDE; + QDoubleVector2D coordinateToItemPosition(const QGeoCoordinate &coordinate, bool clipToViewport = true) const Q_DECL_OVERRIDE; + void prefetchData() Q_DECL_OVERRIDE; + + +protected: + QSGNode *updateSceneGraph(QSGNode *, QQuickWindow *window) Q_DECL_OVERRIDE; + +protected Q_SLOTS: + virtual void evaluateCopyrights(const QSet &visibleTiles); + void updateMapVersion(); + +private: + Q_DISABLE_COPY(QGeoTiledMap) + +}; + +QT_END_NAMESPACE + +#endif // QGEOMAP_P_H diff --git a/libs/qtlocation/src/location/maps/qgeotiledmap_p_p.h b/libs/qtlocation/src/location/maps/qgeotiledmap_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..bd4b4c05bac103ac74682a0e7073caca70beba6c --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotiledmap_p_p.h @@ -0,0 +1,102 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOTILEDMAP_P_P_H +#define QGEOTILEDMAP_P_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeomap_p_p.h" +#include "qgeocameradata_p.h" +#include "qgeomaptype_p.h" +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoCameraTiles; +class QGeoMapScene; +class QGeoTileCache; +class QGeoTiledMappingManagerEngine; +class QGeoTiledMap; +class QGeoTileRequestManager; +class QGeoTileSpec; +class QSGNode; +class QQuickWindow; + +class QGeoTiledMapPrivate : public QGeoMapPrivate +{ + Q_DECLARE_PUBLIC(QGeoTiledMap) +public: + QGeoTiledMapPrivate(QGeoTiledMappingManagerEngine *engine); + ~QGeoTiledMapPrivate(); + + QSGNode *updateSceneGraph(QSGNode *node, QQuickWindow *window); + + void changeMapVersion(int mapVersion); + void resized(int width, int height); + + QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos) const; + QDoubleVector2D coordinateToItemPosition(const QGeoCoordinate &coordinate) const; + + void updateTile(const QGeoTileSpec &spec); + void prefetchTiles(); + +protected: + void mapResized(int width, int height) Q_DECL_OVERRIDE; + void changeCameraData(const QGeoCameraData &oldCameraData) Q_DECL_OVERRIDE; + void changeActiveMapType(const QGeoMapType mapType) Q_DECL_OVERRIDE; + +private: + QGeoTileCache *m_cache; + QGeoCameraTiles *m_cameraTiles; + QGeoMapScene *m_mapScene; + QGeoTileRequestManager *m_tileRequests; + Q_DISABLE_COPY(QGeoTiledMapPrivate) +}; + +QT_END_NAMESPACE + +#endif // QGEOTILEDMAP_P_P_H diff --git a/libs/qtlocation/src/location/maps/qgeotiledmappingmanagerengine_p.h b/libs/qtlocation/src/location/maps/qgeotiledmappingmanagerengine_p.h new file mode 100644 index 0000000000000000000000000000000000000000..6cc4caeaa1b41c9a8e219d5bfcb6ef89c1723cc7 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotiledmappingmanagerengine_p.h @@ -0,0 +1,119 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOTILEDMAPPINGMANAGERENGINE_H +#define QGEOTILEDMAPPINGMANAGERENGINE_H + +#include +#include +#include +#include +#include "qgeomaptype_p.h" +#include "qgeomappingmanagerengine_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoTiledMappingManagerEnginePrivate; +class QGeoMapRequestOptions; +class QGeoTileFetcher; +class QGeoTileTexture; + +class QGeoTileSpec; +class QGeoTiledMap; +class QGeoTileCache; + +class Q_LOCATION_EXPORT QGeoTiledMappingManagerEngine : public QGeoMappingManagerEngine +{ + Q_OBJECT + +public: + enum CacheArea { + DiskCache = 0x01, + MemoryCache = 0x02, + AllCaches = 0xFF + }; + Q_DECLARE_FLAGS(CacheAreas, CacheArea) + + explicit QGeoTiledMappingManagerEngine(QObject *parent = 0); + virtual ~QGeoTiledMappingManagerEngine(); + + QGeoTileFetcher *tileFetcher(); + + QGeoMap *createMap() Q_DECL_OVERRIDE; + void registerMap(QGeoMap *map) Q_DECL_OVERRIDE; + void deregisterMap(QGeoMap *map) Q_DECL_OVERRIDE; + + QSize tileSize() const; + + void updateTileRequests(QGeoTiledMap *map, + const QSet &tilesAdded, + const QSet &tilesRemoved); + + QGeoTileCache *tileCache(); // TODO: check this is still used + QSharedPointer getTileTexture(const QGeoTileSpec &spec); + + + QGeoTiledMappingManagerEngine::CacheAreas cacheHint() const; + +private Q_SLOTS: + void engineTileFinished(const QGeoTileSpec &spec, const QByteArray &bytes, const QString &format); + void engineTileError(const QGeoTileSpec &spec, const QString &errorString); + +Q_SIGNALS: + void tileError(const QGeoTileSpec &spec, const QString &errorString); + void mapVersionChanged(); + +protected: + void setTileFetcher(QGeoTileFetcher *fetcher); + void setTileSize(const QSize &tileSize); + void setCacheHint(QGeoTiledMappingManagerEngine::CacheAreas cacheHint); + + QGeoTileCache *createTileCacheWithDir(const QString &cacheDirectory); + +private: + QGeoTiledMappingManagerEnginePrivate *d_ptr; + + Q_DECLARE_PRIVATE(QGeoTiledMappingManagerEngine) + Q_DISABLE_COPY(QGeoTiledMappingManagerEngine) + + friend class QGeoTileFetcher; +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoTiledMappingManagerEngine::CacheAreas) + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeotiledmappingmanagerengine_p_p.h b/libs/qtlocation/src/location/maps/qgeotiledmappingmanagerengine_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..77e84e85362e005dbd08dd5a82b9e1a88ade2057 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotiledmappingmanagerengine_p_p.h @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#ifndef QGEOTILEDMAPPINGMANAGER_P_H +#define QGEOTILEDMAPPINGMANAGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include +#include "qgeotiledmappingmanagerengine_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoTiledMap; +class QGeoTileCache; +class QGeoTileSpec; +class QGeoTileFetcher; + +class QGeoTiledMappingManagerEnginePrivate +{ +public: + QGeoTiledMappingManagerEnginePrivate(); + ~QGeoTiledMappingManagerEnginePrivate(); + + QSize tileSize_; + QSet tileMaps_; + QHash > mapHash_; + QHash > tileHash_; + QGeoTiledMappingManagerEngine::CacheAreas cacheHint_; + QGeoTileCache *tileCache_; + QGeoTileFetcher *fetcher_; + +private: + Q_DISABLE_COPY(QGeoTiledMappingManagerEnginePrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeotiledmapreply_p.h b/libs/qtlocation/src/location/maps/qgeotiledmapreply_p.h new file mode 100644 index 0000000000000000000000000000000000000000..91852cc3889627c97b585f745f44269d386ce0a8 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotiledmapreply_p.h @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOTILEDMAPREPLY_H +#define QGEOTILEDMAPREPLY_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#include + +QT_BEGIN_NAMESPACE + +class QGeoTileSpec; +class QGeoTiledMapReplyPrivate; + +class Q_LOCATION_EXPORT QGeoTiledMapReply : public QObject +{ + Q_OBJECT + +public: + enum Error { + NoError, + CommunicationError, + ParseError, + UnknownError + }; + + QGeoTiledMapReply(const QGeoTileSpec &spec, QObject *parent = 0); + QGeoTiledMapReply(Error error, const QString &errorString, QObject *parent = 0); + virtual ~QGeoTiledMapReply(); + + bool isFinished() const; + Error error() const; + QString errorString() const; + + bool isCached() const; + + QGeoTileSpec tileSpec() const; + + QByteArray mapImageData() const; + QString mapImageFormat() const; + + virtual void abort(); + +Q_SIGNALS: + void finished(); + void error(QGeoTiledMapReply::Error error, const QString &errorString = QString()); + +protected: + void setError(Error error, const QString &errorString); + void setFinished(bool finished); + + void setCached(bool cached); + + void setMapImageData(const QByteArray &data); + void setMapImageFormat(const QString &format); + +private: + QGeoTiledMapReplyPrivate *d_ptr; + Q_DISABLE_COPY(QGeoTiledMapReply) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeotiledmapreply_p_p.h b/libs/qtlocation/src/location/maps/qgeotiledmapreply_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..5dcf5a75ba20aaf173a5b396d7e6d4b1fe4218e1 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotiledmapreply_p_p.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOTILEDMAPREPLY_P_H +#define QGEOTILEDMAPREPLY_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeotiledmapreply_p.h" +#include "qgeotilespec_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoTiledMapReplyPrivate +{ +public: + QGeoTiledMapReplyPrivate(const QGeoTileSpec &spec); + QGeoTiledMapReplyPrivate(QGeoTiledMapReply::Error error, const QString &errorString); + ~QGeoTiledMapReplyPrivate(); + + QGeoTiledMapReply::Error error; + QString errorString; + bool isFinished; + bool isCached; + + QGeoTileSpec spec; + QByteArray mapImageData; + QString mapImageFormat; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeotilefetcher_p.h b/libs/qtlocation/src/location/maps/qgeotilefetcher_p.h new file mode 100644 index 0000000000000000000000000000000000000000..cabab05004b9fa6ed94457de3deb2d49790bf535 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotilefetcher_p.h @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOTILEFETCHER_H +#define QGEOTILEFETCHER_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include "qgeomaptype_p.h" +#include "qgeotiledmappingmanagerengine_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoMapRequestOptions; + +class QGeoTileFetcherPrivate; +class QGeoTiledMappingManagerEngine; +class QGeoTiledMapReply; +class QGeoTileSpec; + +class Q_LOCATION_EXPORT QGeoTileFetcher : public QObject +{ + Q_OBJECT + +public: + QGeoTileFetcher(QObject *parent = 0); + virtual ~QGeoTileFetcher(); + +public Q_SLOTS: + void updateTileRequests(const QSet &tilesAdded, const QSet &tilesRemoved); + +private Q_SLOTS: + void cancelTileRequests(const QSet &tiles); + void requestNextTile(); + void finished(); + +Q_SIGNALS: + void tileFinished(const QGeoTileSpec &spec, const QByteArray &bytes, const QString &format); + void tileError(const QGeoTileSpec &spec, const QString &errorString); + +protected: + void timerEvent(QTimerEvent *event); + QGeoTiledMappingManagerEngine::CacheAreas cacheHint() const; + +private: + QGeoTileFetcherPrivate *d_ptr; + + virtual QGeoTiledMapReply *getTileImage(const QGeoTileSpec &spec) = 0; + void handleReply(QGeoTiledMapReply *reply, const QGeoTileSpec &spec); + + Q_DECLARE_PRIVATE(QGeoTileFetcher) + Q_DISABLE_COPY(QGeoTileFetcher) + + friend class QGeoTiledMappingManagerEngine; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeotilefetcher_p_p.h b/libs/qtlocation/src/location/maps/qgeotilefetcher_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ce2a5481bf0dc722f9801faac81291b0d95a0df2 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotilefetcher_p_p.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOTILEFETCHER_P_H +#define QGEOTILEFETCHER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include "qgeomaptype_p.h" + +QT_BEGIN_NAMESPACE + +class QGeoTileSpec; +class QGeoTiledMapReply; +class QGeoTileCache; +class QGeoTiledMappingManagerEngine; + +class QGeoTileFetcherPrivate +{ +public: + QGeoTileFetcherPrivate(); + virtual ~QGeoTileFetcherPrivate(); + + bool enabled_; + QBasicTimer timer_; + QMutex queueMutex_; + QList queue_; + QHash invmap_; + +private: + Q_DISABLE_COPY(QGeoTileFetcherPrivate) +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/location/maps/qgeotilerequestmanager_p.h b/libs/qtlocation/src/location/maps/qgeotilerequestmanager_p.h new file mode 100644 index 0000000000000000000000000000000000000000..8ae7360aee18b4b7158fb8d4baebd9e3e2656385 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotilerequestmanager_p.h @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOTILEREQUESTMANAGER_P_H +#define QGEOTILEREQUESTMANAGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +QT_BEGIN_NAMESPACE + +class QGeoTiledMap; +class QGeoTiledMappingManagerEngine; +class QGeoTileSpec; +class QGeoTileCache; +class QGeoTileTexture; + +class QGeoTileRequestManagerPrivate; + +class QGeoTileRequestManager +{ +public: + explicit QGeoTileRequestManager(QGeoTiledMap *map, QGeoTiledMappingManagerEngine *engine); + ~QGeoTileRequestManager(); + + QList > requestTiles(const QSet &tiles); + + void tileError(const QGeoTileSpec &tile, const QString &errorString); + void tileFetched(const QGeoTileSpec &spec); + QSharedPointer tileTexture(const QGeoTileSpec &spec); + +private: + QScopedPointer d_ptr; + Q_DISABLE_COPY(QGeoTileRequestManager) +}; + +QT_END_NAMESPACE + +#endif // QGEOTILEREQUESTMANAGER_P_H diff --git a/libs/qtlocation/src/location/maps/qgeotilespec_p.h b/libs/qtlocation/src/location/maps/qgeotilespec_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b2778241037380cdf4651d28c4ac421554120f01 --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotilespec_p.h @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOTILESPEC_H +#define QGEOTILESPEC_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include + +#include + +QT_BEGIN_NAMESPACE + +class QGeoTileSpecPrivate; + +class Q_LOCATION_EXPORT QGeoTileSpec +{ +public: + QGeoTileSpec(); + QGeoTileSpec(const QGeoTileSpec &other); + QGeoTileSpec(const QString &plugin, int mapId, int zoom, int x, int y, int version = -1); + ~QGeoTileSpec(); + + QGeoTileSpec &operator = (const QGeoTileSpec &other); + + QString plugin() const; + + void setZoom(int zoom); + int zoom() const; + + void setX(int x); + int x() const; + + void setY(int y); + int y() const; + + void setMapId(int mapId); + int mapId() const; + + void setVersion(int version); + int version() const; + + bool operator == (const QGeoTileSpec &rhs) const; + bool operator < (const QGeoTileSpec &rhs) const; + +private: + QSharedDataPointer d; +}; + +Q_LOCATION_EXPORT unsigned int qHash(const QGeoTileSpec &spec); + +Q_LOCATION_EXPORT QDebug operator<<(QDebug, const QGeoTileSpec &); + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoTileSpec) + +#endif // QGEOTILESPEC_H diff --git a/libs/qtlocation/src/location/maps/qgeotilespec_p_p.h b/libs/qtlocation/src/location/maps/qgeotilespec_p_p.h new file mode 100644 index 0000000000000000000000000000000000000000..1e7442fef6ff8f8d18c0085e45d3385b2d2db63b --- /dev/null +++ b/libs/qtlocation/src/location/maps/qgeotilespec_p_p.h @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOTILESPEC_P_H +#define QGEOTILESPEC_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoTileSpecPrivate : public QSharedData +{ +public: + QGeoTileSpecPrivate(); + QGeoTileSpecPrivate(const QGeoTileSpecPrivate &other); + QGeoTileSpecPrivate(const QString &plugin, int mapId, int zoom, int x, int y, int version); + ~QGeoTileSpecPrivate(); + + QGeoTileSpecPrivate &operator = (const QGeoTileSpecPrivate &other); + + bool operator == (const QGeoTileSpecPrivate &rhs) const; + bool operator < (const QGeoTileSpecPrivate &rhs) const; + + QString plugin_; + int mapId_; + int zoom_; + int x_; + int y_; + int version_; +}; + +QT_END_NAMESPACE + +#endif // QGEOTILESPEC_P_H diff --git a/libs/qtlocation/src/location/qlocation.h b/libs/qtlocation/src/location/qlocation.h new file mode 100644 index 0000000000000000000000000000000000000000..d30a3a386758827638115f2c6f18db38dcbbe3e8 --- /dev/null +++ b/libs/qtlocation/src/location/qlocation.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QLOCATION_H +#define QLOCATION_H + +#if 0 +#pragma qt_class(QLocation) +#endif + +#include + +QT_BEGIN_NAMESPACE + +namespace QLocation { + +enum Visibility { + UnspecifiedVisibility = 0x00, + DeviceVisibility = 0x01, + PrivateVisibility = 0x02, + PublicVisibility = 0x04 +}; + +Q_DECLARE_FLAGS(VisibilityScope, Visibility) + +} + +Q_DECLARE_OPERATORS_FOR_FLAGS(QLocation::VisibilityScope) + +QT_END_NAMESPACE + +#endif // QLOCATION_H diff --git a/libs/qtlocation/src/location/qlocationglobal.h b/libs/qtlocation/src/location/qlocationglobal.h new file mode 100644 index 0000000000000000000000000000000000000000..7992c0970fdf8279892218985c9d52526d990261 --- /dev/null +++ b/libs/qtlocation/src/location/qlocationglobal.h @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QLOCATIONGLOBAL_H +#define QLOCATIONGLOBAL_H + +#include + +QT_BEGIN_NAMESPACE + +#ifndef QT_STATIC +# if defined(QT_BUILD_LOCATION_LIB) +# define Q_LOCATION_EXPORT Q_DECL_EXPORT +# else +# define Q_LOCATION_EXPORT Q_DECL_IMPORT +# endif +#else +# define Q_LOCATION_EXPORT +#endif + +QT_END_NAMESPACE + +#endif // QLOCATIONGLOBAL_H + diff --git a/libs/qtlocation/src/positioning/qdeclarativegeoaddress_p.h b/libs/qtlocation/src/positioning/qdeclarativegeoaddress_p.h new file mode 100644 index 0000000000000000000000000000000000000000..7f51d5556804e3725cb14e19e6016d43d71f68f1 --- /dev/null +++ b/libs/qtlocation/src/positioning/qdeclarativegeoaddress_p.h @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#ifndef QDECLARATIVEGEOADDRESS_P_H +#define QDECLARATIVEGEOADDRESS_P_H + +#include +#include + +QT_BEGIN_NAMESPACE + +class Q_POSITIONING_EXPORT QDeclarativeGeoAddress : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QGeoAddress address READ address WRITE setAddress) + Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) + Q_PROPERTY(QString country READ country WRITE setCountry NOTIFY countryChanged) + Q_PROPERTY(QString countryCode READ countryCode WRITE setCountryCode NOTIFY countryCodeChanged) + Q_PROPERTY(QString state READ state WRITE setState NOTIFY stateChanged) + Q_PROPERTY(QString county READ county WRITE setCounty NOTIFY countyChanged) + Q_PROPERTY(QString city READ city WRITE setCity NOTIFY cityChanged) + Q_PROPERTY(QString district READ district WRITE setDistrict NOTIFY districtChanged) + Q_PROPERTY(QString street READ street WRITE setStreet NOTIFY streetChanged) + Q_PROPERTY(QString postalCode READ postalCode WRITE setPostalCode NOTIFY postalCodeChanged) + Q_PROPERTY(bool isTextGenerated READ isTextGenerated NOTIFY isTextGeneratedChanged) + +public: + explicit QDeclarativeGeoAddress(QObject *parent = 0); + QDeclarativeGeoAddress(const QGeoAddress &address, QObject *parent = 0); + QGeoAddress address() const; + void setAddress(const QGeoAddress &address); + + QString text() const; + void setText(const QString &address); + + QString country() const; + void setCountry(const QString &country); + QString countryCode() const; + void setCountryCode(const QString &countryCode); + QString state() const; + void setState(const QString &state); + QString county() const; + void setCounty(const QString &county); + QString city() const; + void setCity(const QString &city); + QString district() const; + void setDistrict(const QString &district); + QString street() const; + void setStreet(const QString &street); + QString postalCode() const; + void setPostalCode(const QString &postalCode); + bool isTextGenerated() const; + +Q_SIGNALS: + void textChanged(); + void countryChanged(); + void countryCodeChanged(); + void stateChanged(); + void countyChanged(); + void cityChanged(); + void districtChanged(); + void streetChanged(); + void postalCodeChanged(); + void isTextGeneratedChanged(); + +private: + QGeoAddress m_address; +}; + +QT_END_NAMESPACE + +#endif // QDECLARATIVEGEOADDRESS_P_H diff --git a/libs/qtlocation/src/positioning/qdeclarativegeolocation_p.h b/libs/qtlocation/src/positioning/qdeclarativegeolocation_p.h new file mode 100644 index 0000000000000000000000000000000000000000..832dac6126fe872ef597aee93c78a972da538571 --- /dev/null +++ b/libs/qtlocation/src/positioning/qdeclarativegeolocation_p.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QDECLARATIVEGEOLOCATION_P_H +#define QDECLARATIVEGEOLOCATION_P_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Q_POSITIONING_EXPORT QDeclarativeGeoLocation : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QGeoLocation location READ location WRITE setLocation) + Q_PROPERTY(QDeclarativeGeoAddress *address READ address WRITE setAddress NOTIFY addressChanged) + Q_PROPERTY(QGeoCoordinate coordinate READ coordinate WRITE setCoordinate NOTIFY coordinateChanged) + Q_PROPERTY(QGeoRectangle boundingBox READ boundingBox WRITE setBoundingBox NOTIFY boundingBoxChanged) + +public: + explicit QDeclarativeGeoLocation(QObject *parent = 0); + explicit QDeclarativeGeoLocation(const QGeoLocation &src, QObject *parent = 0); + ~QDeclarativeGeoLocation(); + + QGeoLocation location() const; + void setLocation(const QGeoLocation &src); + + QDeclarativeGeoAddress *address() const; + void setAddress(QDeclarativeGeoAddress *address); + QGeoCoordinate coordinate() const; + void setCoordinate(const QGeoCoordinate coordinate); + + QGeoRectangle boundingBox() const; + void setBoundingBox(const QGeoRectangle &boundingBox); + +Q_SIGNALS: + void addressChanged(); + void coordinateChanged(); + void boundingBoxChanged(); + +private: + QDeclarativeGeoAddress *m_address; + QGeoRectangle m_boundingBox; + QGeoCoordinate m_coordinate; +}; + +QT_END_NAMESPACE + +#endif // QDECLARATIVELOCATION_P_H diff --git a/libs/qtlocation/src/positioning/qdoublevector2d_p.h b/libs/qtlocation/src/positioning/qdoublevector2d_p.h new file mode 100644 index 0000000000000000000000000000000000000000..f25190b9858072dd8ea7bd74bf825724dc273c98 --- /dev/null +++ b/libs/qtlocation/src/positioning/qdoublevector2d_p.h @@ -0,0 +1,242 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QDOUBLEVECTOR2D_P_H +#define QDOUBLEVECTOR2D_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#ifdef QT_BUILD_LOCATION_LIB +#include +#endif + +#include "qpositioningglobal.h" +#include +#include + +QT_BEGIN_NAMESPACE + +class QDoubleVector3D; + +class Q_POSITIONING_EXPORT QDoubleVector2D +{ +public: + Q_DECL_CONSTEXPR inline QDoubleVector2D(); + Q_DECL_CONSTEXPR inline QDoubleVector2D(double xpos, double ypos); + Q_DECL_CONSTEXPR explicit inline QDoubleVector2D(const QPointF &p); + explicit QDoubleVector2D(const QDoubleVector3D &vector); + + Q_DECL_CONSTEXPR inline double manhattanLength() const; + inline bool isNull() const; + + Q_DECL_CONSTEXPR inline double x() const; + Q_DECL_CONSTEXPR inline double y() const; + + inline void setX(double x); + inline void setY(double y); + + double length() const; + Q_DECL_CONSTEXPR inline double lengthSquared() const; + + QDoubleVector2D normalized() const; + void normalize(); + + inline QDoubleVector2D &operator+=(const QDoubleVector2D &vector); + inline QDoubleVector2D &operator-=(const QDoubleVector2D &vector); + inline QDoubleVector2D &operator*=(double factor); + inline QDoubleVector2D &operator*=(const QDoubleVector2D &vector); + inline QDoubleVector2D &operator/=(double divisor); + + Q_DECL_CONSTEXPR static inline double dotProduct(const QDoubleVector2D &v1, const QDoubleVector2D &v2) + { return v1.xp * v2.xp + v1.yp * v2.yp; } + + + friend Q_DECL_CONSTEXPR inline bool operator==(const QDoubleVector2D &v1, const QDoubleVector2D &v2); + friend Q_DECL_CONSTEXPR inline bool operator!=(const QDoubleVector2D &v1, const QDoubleVector2D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector2D operator+(const QDoubleVector2D &v1, const QDoubleVector2D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector2D operator-(const QDoubleVector2D &v1, const QDoubleVector2D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector2D operator*(double factor, const QDoubleVector2D &vector); + friend Q_DECL_CONSTEXPR inline const QDoubleVector2D operator*(const QDoubleVector2D &vector, double factor); + friend Q_DECL_CONSTEXPR inline const QDoubleVector2D operator*(const QDoubleVector2D &v1, const QDoubleVector2D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector2D operator-(const QDoubleVector2D &vector); + friend Q_DECL_CONSTEXPR inline const QDoubleVector2D operator/(const QDoubleVector2D &vector, double divisor); + + friend Q_DECL_CONSTEXPR inline bool qFuzzyCompare(const QDoubleVector2D &v1, const QDoubleVector2D &v2); + + QDoubleVector3D toVector3D() const; + Q_DECL_CONSTEXPR inline QPointF toPointF() const; + +private: + double xp, yp; + + friend class QDoubleVector3D; +}; + +Q_DECLARE_TYPEINFO(QDoubleVector2D, Q_MOVABLE_TYPE); + +Q_DECL_CONSTEXPR inline QDoubleVector2D::QDoubleVector2D() : xp(0.0), yp(0.0) {} + +Q_DECL_CONSTEXPR inline QDoubleVector2D::QDoubleVector2D(double xpos, double ypos) : xp(xpos), yp(ypos) {} + +Q_DECL_CONSTEXPR inline QDoubleVector2D::QDoubleVector2D(const QPointF &p) : xp(p.x()), yp(p.y()) { } + +Q_DECL_CONSTEXPR inline double QDoubleVector2D::manhattanLength() const +{ + return qAbs(x())+qAbs(y()); +} + +inline bool QDoubleVector2D::isNull() const +{ + return qIsNull(xp) && qIsNull(yp); +} + +Q_DECL_CONSTEXPR inline double QDoubleVector2D::x() const { return xp; } +Q_DECL_CONSTEXPR inline double QDoubleVector2D::y() const { return yp; } + +inline void QDoubleVector2D::setX(double aX) { xp = aX; } +inline void QDoubleVector2D::setY(double aY) { yp = aY; } + +Q_DECL_CONSTEXPR inline double QDoubleVector2D::lengthSquared() const +{ return xp * xp + yp * yp; } + +inline QDoubleVector2D &QDoubleVector2D::operator+=(const QDoubleVector2D &vector) +{ + xp += vector.xp; + yp += vector.yp; + return *this; +} + +inline QDoubleVector2D &QDoubleVector2D::operator-=(const QDoubleVector2D &vector) +{ + xp -= vector.xp; + yp -= vector.yp; + return *this; +} + +inline QDoubleVector2D &QDoubleVector2D::operator*=(double factor) +{ + xp *= factor; + yp *= factor; + return *this; +} + +inline QDoubleVector2D &QDoubleVector2D::operator*=(const QDoubleVector2D &vector) +{ + xp *= vector.xp; + yp *= vector.yp; + return *this; +} + +inline QDoubleVector2D &QDoubleVector2D::operator/=(double divisor) +{ + xp /= divisor; + yp /= divisor; + return *this; +} + +Q_DECL_CONSTEXPR inline bool operator==(const QDoubleVector2D &v1, const QDoubleVector2D &v2) +{ + return v1.xp == v2.xp && v1.yp == v2.yp; +} + +Q_DECL_CONSTEXPR inline bool operator!=(const QDoubleVector2D &v1, const QDoubleVector2D &v2) +{ + return v1.xp != v2.xp || v1.yp != v2.yp; +} + +Q_DECL_CONSTEXPR inline const QDoubleVector2D operator+(const QDoubleVector2D &v1, const QDoubleVector2D &v2) +{ + return QDoubleVector2D(v1.xp + v2.xp, v1.yp + v2.yp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector2D operator-(const QDoubleVector2D &v1, const QDoubleVector2D &v2) +{ + return QDoubleVector2D(v1.xp - v2.xp, v1.yp - v2.yp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector2D operator*(double factor, const QDoubleVector2D &vector) +{ + return QDoubleVector2D(vector.xp * factor, vector.yp * factor); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector2D operator*(const QDoubleVector2D &vector, double factor) +{ + return QDoubleVector2D(vector.xp * factor, vector.yp * factor); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector2D operator*(const QDoubleVector2D &v1, const QDoubleVector2D &v2) +{ + return QDoubleVector2D(v1.xp * v2.xp, v1.yp * v2.yp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector2D operator-(const QDoubleVector2D &vector) +{ + return QDoubleVector2D(-vector.xp, -vector.yp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector2D operator/(const QDoubleVector2D &vector, double divisor) +{ + return QDoubleVector2D(vector.xp / divisor, vector.yp / divisor); +} + +Q_DECL_CONSTEXPR inline bool qFuzzyCompare(const QDoubleVector2D &v1, const QDoubleVector2D &v2) +{ + return qFuzzyCompare(v1.xp, v2.xp) && qFuzzyCompare(v1.yp, v2.yp); +} + +Q_DECL_CONSTEXPR inline QPointF QDoubleVector2D::toPointF() const +{ + return QPointF(qreal(xp), qreal(yp)); +} + +#ifndef QT_NO_DEBUG_STREAM +Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const QDoubleVector2D &vector); +#endif + +#ifndef QT_NO_DATASTREAM +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &, const QDoubleVector2D &); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &, QDoubleVector2D &); +#endif + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qdoublevector3d_p.h b/libs/qtlocation/src/positioning/qdoublevector3d_p.h new file mode 100644 index 0000000000000000000000000000000000000000..e4f96e3234891c94cb2ae95fe28cf58a310809fe --- /dev/null +++ b/libs/qtlocation/src/positioning/qdoublevector3d_p.h @@ -0,0 +1,296 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QDOUBLEVECTOR3D_P_H +#define QDOUBLEVECTOR3D_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#ifdef QT_BUILD_LOCATION_LIB +#include +#endif + +#include "qpositioningglobal.h" +#include "qdoublevector2d_p.h" +#include + +QT_BEGIN_NAMESPACE + +class Q_POSITIONING_EXPORT QDoubleVector3D +{ +public: + Q_DECL_CONSTEXPR inline QDoubleVector3D(); + Q_DECL_CONSTEXPR inline QDoubleVector3D(double xpos, double ypos, double zpos); + Q_DECL_CONSTEXPR inline QDoubleVector3D(const QDoubleVector2D &vector); + Q_DECL_CONSTEXPR inline QDoubleVector3D(const QDoubleVector2D &vector, double zpos); + + inline bool isNull() const; + + Q_DECL_CONSTEXPR inline double x() const; + Q_DECL_CONSTEXPR inline double y() const; + Q_DECL_CONSTEXPR inline double z() const; + + inline void setX(double x); + inline void setY(double y); + inline void setZ(double z); + + inline double get(int i) const; + inline void set(int i, double value); + + double length() const; + Q_DECL_CONSTEXPR inline double lengthSquared() const; + + QDoubleVector3D normalized() const; + void normalize(); + + inline QDoubleVector3D &operator+=(const QDoubleVector3D &vector); + inline QDoubleVector3D &operator-=(const QDoubleVector3D &vector); + inline QDoubleVector3D &operator*=(double factor); + inline QDoubleVector3D &operator*=(const QDoubleVector3D &vector); + inline QDoubleVector3D &operator/=(double divisor); + + Q_DECL_CONSTEXPR static inline double dotProduct(const QDoubleVector3D &v1, const QDoubleVector3D &v2) + { return v1.xp * v2.xp + v1.yp * v2.yp + v1.zp * v2.zp; } + + Q_DECL_CONSTEXPR static inline QDoubleVector3D crossProduct(const QDoubleVector3D &v1, const QDoubleVector3D &v2) + { return QDoubleVector3D(v1.yp * v2.zp - v1.zp * v2.yp, + v1.zp * v2.xp - v1.xp * v2.zp, + v1.xp * v2.yp - v1.yp * v2.xp); } + + static QDoubleVector3D normal(const QDoubleVector3D &v1, const QDoubleVector3D &v2); + static QDoubleVector3D normal + (const QDoubleVector3D &v1, const QDoubleVector3D &v2, const QDoubleVector3D &v3); + + double distanceToPlane(const QDoubleVector3D &plane, const QDoubleVector3D &normal) const; + double distanceToPlane(const QDoubleVector3D &plane1, const QDoubleVector3D &plane2, const QDoubleVector3D &plane3) const; + double distanceToLine(const QDoubleVector3D &point, const QDoubleVector3D &direction) const; + + friend Q_DECL_CONSTEXPR inline bool operator==(const QDoubleVector3D &v1, const QDoubleVector3D &v2); + friend Q_DECL_CONSTEXPR inline bool operator!=(const QDoubleVector3D &v1, const QDoubleVector3D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector3D operator+(const QDoubleVector3D &v1, const QDoubleVector3D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector3D operator-(const QDoubleVector3D &v1, const QDoubleVector3D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector3D operator*(double factor, const QDoubleVector3D &vector); + friend Q_DECL_CONSTEXPR inline const QDoubleVector3D operator*(const QDoubleVector3D &vector, double factor); + friend Q_DECL_CONSTEXPR inline const QDoubleVector3D operator*(const QDoubleVector3D &v1, const QDoubleVector3D &v2); + friend Q_DECL_CONSTEXPR inline const QDoubleVector3D operator-(const QDoubleVector3D &vector); + friend Q_DECL_CONSTEXPR inline const QDoubleVector3D operator/(const QDoubleVector3D &vector, double divisor); + + friend Q_DECL_CONSTEXPR inline bool qFuzzyCompare(const QDoubleVector3D &v1, const QDoubleVector3D &v2); + + Q_DECL_CONSTEXPR inline QDoubleVector2D toVector2D() const; + +private: + double xp, yp, zp; + + friend class QDoubleVector2D; +}; + +Q_DECLARE_TYPEINFO(QDoubleVector3D, Q_MOVABLE_TYPE); + +Q_DECL_CONSTEXPR inline QDoubleVector3D::QDoubleVector3D() : xp(0.0), yp(0.0), zp(0.0) {} + +Q_DECL_CONSTEXPR inline QDoubleVector3D::QDoubleVector3D(double xpos, double ypos, double zpos) : xp(xpos), yp(ypos), zp(zpos) {} + +Q_DECL_CONSTEXPR inline QDoubleVector3D::QDoubleVector3D(const QDoubleVector2D &v) + : xp(v.xp), yp(v.yp), zp(0.0) {} + +Q_DECL_CONSTEXPR inline QDoubleVector3D::QDoubleVector3D(const QDoubleVector2D &v, double zpos) + : xp(v.xp), yp(v.yp), zp(zpos) {} + +inline bool QDoubleVector3D::isNull() const +{ + return qIsNull(xp) && qIsNull(yp) && qIsNull(zp); +} + +Q_DECL_CONSTEXPR inline double QDoubleVector3D::x() const { return xp; } +Q_DECL_CONSTEXPR inline double QDoubleVector3D::y() const { return yp; } +Q_DECL_CONSTEXPR inline double QDoubleVector3D::z() const { return zp; } + +Q_DECL_CONSTEXPR inline double QDoubleVector3D::lengthSquared() const +{ return xp * xp + yp * yp + zp * zp; } + + +inline void QDoubleVector3D::setX(double aX) { xp = aX; } +inline void QDoubleVector3D::setY(double aY) { yp = aY; } +inline void QDoubleVector3D::setZ(double aZ) { zp = aZ; } + +inline double QDoubleVector3D::get(int i) const +{ + switch (i) { + case 0: + return xp; + case 1: + return yp; + case 2: + return zp; + default: + return 0.0; + } +} + +inline void QDoubleVector3D::set(int i, double value) +{ + switch (i) { + case 0: + xp = value; + break; + case 1: + yp = value; + break; + case 2: + zp = value; + break; + default: + break; + } +} + +inline QDoubleVector3D &QDoubleVector3D::operator+=(const QDoubleVector3D &vector) +{ + xp += vector.xp; + yp += vector.yp; + zp += vector.zp; + return *this; +} + +inline QDoubleVector3D &QDoubleVector3D::operator-=(const QDoubleVector3D &vector) +{ + xp -= vector.xp; + yp -= vector.yp; + zp -= vector.zp; + return *this; +} + +inline QDoubleVector3D &QDoubleVector3D::operator*=(double factor) +{ + xp *= factor; + yp *= factor; + zp *= factor; + return *this; +} + +inline QDoubleVector3D &QDoubleVector3D::operator*=(const QDoubleVector3D &vector) +{ + xp *= vector.xp; + yp *= vector.yp; + zp *= vector.zp; + return *this; +} + +inline QDoubleVector3D &QDoubleVector3D::operator/=(double divisor) +{ + xp /= divisor; + yp /= divisor; + zp /= divisor; + return *this; +} + +Q_DECL_CONSTEXPR inline bool operator==(const QDoubleVector3D &v1, const QDoubleVector3D &v2) +{ + return v1.xp == v2.xp && v1.yp == v2.yp && v1.zp == v2.zp; +} + +Q_DECL_CONSTEXPR inline bool operator!=(const QDoubleVector3D &v1, const QDoubleVector3D &v2) +{ + return v1.xp != v2.xp || v1.yp != v2.yp || v1.zp != v2.zp; +} + +Q_DECL_CONSTEXPR inline const QDoubleVector3D operator+(const QDoubleVector3D &v1, const QDoubleVector3D &v2) +{ + return QDoubleVector3D(v1.xp + v2.xp, v1.yp + v2.yp, v1.zp + v2.zp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector3D operator-(const QDoubleVector3D &v1, const QDoubleVector3D &v2) +{ + return QDoubleVector3D(v1.xp - v2.xp, v1.yp - v2.yp, v1.zp - v2.zp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector3D operator*(double factor, const QDoubleVector3D &vector) +{ + return QDoubleVector3D(vector.xp * factor, vector.yp * factor, vector.zp * factor); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector3D operator*(const QDoubleVector3D &vector, double factor) +{ + return QDoubleVector3D(vector.xp * factor, vector.yp * factor, vector.zp * factor); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector3D operator*(const QDoubleVector3D &v1, const QDoubleVector3D &v2) +{ + return QDoubleVector3D(v1.xp * v2.xp, v1.yp * v2.yp, v1.zp * v2.zp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector3D operator-(const QDoubleVector3D &vector) +{ + return QDoubleVector3D(-vector.xp, -vector.yp, -vector.zp); +} + +Q_DECL_CONSTEXPR inline const QDoubleVector3D operator/(const QDoubleVector3D &vector, double divisor) +{ + return QDoubleVector3D(vector.xp / divisor, vector.yp / divisor, vector.zp / divisor); +} + +Q_DECL_CONSTEXPR inline bool qFuzzyCompare(const QDoubleVector3D &v1, const QDoubleVector3D &v2) +{ + return qFuzzyCompare(v1.xp, v2.xp) && + qFuzzyCompare(v1.yp, v2.yp) && + qFuzzyCompare(v1.zp, v2.zp); +} + +Q_DECL_CONSTEXPR inline QDoubleVector2D QDoubleVector3D::toVector2D() const +{ + return QDoubleVector2D(xp, yp); +} + + +#ifndef QT_NO_DEBUG_STREAM +Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const QDoubleVector3D &vector); +#endif + +#ifndef QT_NO_DATASTREAM +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &, const QDoubleVector3D &); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &, QDoubleVector3D &); +#endif + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeoaddress.h b/libs/qtlocation/src/positioning/qgeoaddress.h new file mode 100644 index 0000000000000000000000000000000000000000..9c107b16d2010a272cf8e8ddc8cac2a1944f77ef --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeoaddress.h @@ -0,0 +1,100 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOADDRESS_H +#define QGEOADDRESS_H + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QString; +class QGeoAddressPrivate; +class Q_POSITIONING_EXPORT QGeoAddress +{ +public: + QGeoAddress(); + QGeoAddress(const QGeoAddress &other); + ~QGeoAddress(); + + QGeoAddress &operator=(const QGeoAddress &other); + bool operator==(const QGeoAddress &other) const; + bool operator!=(const QGeoAddress &other) const { + return !(other == *this); + } + + QString text() const; + void setText(const QString &text); + + QString country() const; + void setCountry(const QString &country); + + QString countryCode() const; + void setCountryCode(const QString &countryCode); + + QString state() const; + void setState(const QString &state); + + QString county() const; + void setCounty(const QString &county); + + QString city() const; + void setCity(const QString &city); + + QString district() const; + void setDistrict(const QString &district); + + QString postalCode() const; + void setPostalCode(const QString &postalCode); + + QString street() const; + void setStreet(const QString &street); + + bool isEmpty() const; + void clear(); + + bool isTextGenerated() const; + +private: + QSharedDataPointer d; +}; + +Q_DECLARE_TYPEINFO(QGeoAddress, Q_MOVABLE_TYPE); + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoAddress) + +#endif diff --git a/libs/qtlocation/src/positioning/qgeoaddress_p.h b/libs/qtlocation/src/positioning/qgeoaddress_p.h new file mode 100644 index 0000000000000000000000000000000000000000..bbd47fc61cb8c0dcd3d72293d513e0089845894f --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeoaddress_p.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QLOCATION_GEOADDRESS_P_H +#define QLOCATION_GEOADDRESS_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoAddressPrivate : public QSharedData +{ +public: + QGeoAddressPrivate(); + QGeoAddressPrivate(const QGeoAddressPrivate &other); + ~QGeoAddressPrivate(); + + QString sCountry; //!< country field + QString sCountryCode; //!< country code field + QString sState; //!< state field + QString sCounty; //!< county field + QString sCity; //!< city field + QString sDistrict; //!< district field + QString sStreet; //!< street name field + QString sPostalCode; //!< postal code field + QString sText; + bool m_autoGeneratedText; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeoareamonitorinfo.h b/libs/qtlocation/src/positioning/qgeoareamonitorinfo.h new file mode 100644 index 0000000000000000000000000000000000000000..faa8f096126e39c171ad04b4dc2c2dde94fbf81e --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeoareamonitorinfo.h @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOAREAMONITORINFO_H +#define QGEOAREAMONITORINFO_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QDataStream; +class QGeoAreaMonitorInfo; + +#ifndef QT_NO_DATASTREAM +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &, const QGeoAreaMonitorInfo &); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &, QGeoAreaMonitorInfo &); +#endif + +class QGeoAreaMonitorInfoPrivate; +class Q_POSITIONING_EXPORT QGeoAreaMonitorInfo +{ +public: + explicit QGeoAreaMonitorInfo(const QString &name = QString()); + QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other); + ~QGeoAreaMonitorInfo(); + + QGeoAreaMonitorInfo &operator=(const QGeoAreaMonitorInfo &other); + + bool operator==(const QGeoAreaMonitorInfo &other) const; + bool operator!=(const QGeoAreaMonitorInfo &other) const; + + QString name() const; + void setName(const QString &name); + + QString identifier() const; + bool isValid() const; + + QGeoShape area() const; + void setArea(const QGeoShape &newShape); + + QDateTime expiration() const; + void setExpiration(const QDateTime &expiry); + + bool isPersistent() const; + void setPersistent(bool isPersistent); + + QVariantMap notificationParameters() const; + void setNotificationParameters(const QVariantMap ¶meters); +private: + QSharedDataPointer d; + +#ifndef QT_NO_DATASTREAM + friend Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &, const QGeoAreaMonitorInfo &); + friend Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &, QGeoAreaMonitorInfo &); +#endif +}; + +#ifndef QT_NO_DEBUG_STREAM +Q_POSITIONING_EXPORT QDebug operator<<(QDebug, const QGeoAreaMonitorInfo &); +#endif + +QT_END_NAMESPACE + +#endif // QGEOAREAMONITORINFO_H diff --git a/libs/qtlocation/src/positioning/qgeoareamonitorsource.h b/libs/qtlocation/src/positioning/qgeoareamonitorsource.h new file mode 100644 index 0000000000000000000000000000000000000000..4adf06662fd9c338b82228aaa3399368e1e8114c --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeoareamonitorsource.h @@ -0,0 +1,102 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOAREAMONITORSOURCE_H +#define QGEOAREAMONITORSOURCE_H + +#include +#include +#include + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoPositionInfo; +class QGeoAreaMonitorSourcePrivate; +class Q_POSITIONING_EXPORT QGeoAreaMonitorSource : public QObject +{ + Q_OBJECT + +public: + enum Error { + AccessError = 0, + InsufficientPositionInfo = 1, + UnknownSourceError = 2, + NoError = 3 + }; + Q_ENUMS(Error) + + enum AreaMonitorFeature { + PersistentAreaMonitorFeature = 0x00000001, + AnyAreaMonitorFeature = 0xffffffff + }; + Q_DECLARE_FLAGS(AreaMonitorFeatures, AreaMonitorFeature) + + explicit QGeoAreaMonitorSource(QObject *parent); + virtual ~QGeoAreaMonitorSource(); + + static QGeoAreaMonitorSource *createDefaultSource(QObject *parent); + static QGeoAreaMonitorSource *createSource(const QString& sourceName, QObject *parent); + static QStringList availableSources(); + + virtual void setPositionInfoSource(QGeoPositionInfoSource *source); + virtual QGeoPositionInfoSource* positionInfoSource() const; + + QString sourceName() const; + + virtual Error error() const = 0; + virtual AreaMonitorFeatures supportedAreaMonitorFeatures() const = 0; + + virtual bool startMonitoring(const QGeoAreaMonitorInfo &monitor) = 0; + virtual bool stopMonitoring(const QGeoAreaMonitorInfo &monitor) = 0; + virtual bool requestUpdate(const QGeoAreaMonitorInfo &monitor, const char *signal) = 0; + + virtual QList activeMonitors() const = 0; + virtual QList activeMonitors(const QGeoShape &lookupArea) const = 0; + +Q_SIGNALS: + void areaEntered(const QGeoAreaMonitorInfo &monitor, const QGeoPositionInfo &update); + void areaExited(const QGeoAreaMonitorInfo &monitor, const QGeoPositionInfo &update); + void monitorExpired(const QGeoAreaMonitorInfo &monitor); + void error(QGeoAreaMonitorSource::Error error); + +private: + Q_DISABLE_COPY(QGeoAreaMonitorSource) + QGeoAreaMonitorSourcePrivate *d; +}; + + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeocircle.h b/libs/qtlocation/src/positioning/qgeocircle.h new file mode 100644 index 0000000000000000000000000000000000000000..9d2828cb33e8df672ed46fb048f434a1179ffa19 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeocircle.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCIRCLE_H +#define QGEOCIRCLE_H + +#include + +QT_BEGIN_NAMESPACE + +class QGeoCoordinate; +class QGeoCirclePrivate; + +class Q_POSITIONING_EXPORT QGeoCircle : public QGeoShape +{ + Q_GADGET + Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter) + Q_PROPERTY(qreal radius READ radius WRITE setRadius) + +public: + QGeoCircle(); + QGeoCircle(const QGeoCoordinate ¢er, qreal radius = -1.0); + QGeoCircle(const QGeoCircle &other); + QGeoCircle(const QGeoShape &other); + + ~QGeoCircle(); + + QGeoCircle &operator=(const QGeoCircle &other); + + using QGeoShape::operator==; + bool operator==(const QGeoCircle &other) const; + + using QGeoShape::operator!=; + bool operator!=(const QGeoCircle &other) const; + + void setCenter(const QGeoCoordinate ¢er); + QGeoCoordinate center() const; + + void setRadius(qreal radius); + qreal radius() const; + + void translate(double degreesLatitude, double degreesLongitude); + QGeoCircle translated(double degreesLatitude, double degreesLongitude) const; + + Q_INVOKABLE QString toString() const; + +private: + inline QGeoCirclePrivate *d_func(); + inline const QGeoCirclePrivate *d_func() const; +}; + +Q_DECLARE_TYPEINFO(QGeoCircle, Q_MOVABLE_TYPE); + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoCircle) + +#endif + diff --git a/libs/qtlocation/src/positioning/qgeocircle_p.h b/libs/qtlocation/src/positioning/qgeocircle_p.h new file mode 100644 index 0000000000000000000000000000000000000000..c3c633372a9245b9ceb5efbefe0d466381493867 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeocircle_p.h @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCIRCLE_P_H +#define QGEOCIRCLE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeoshape_p.h" +#include "qgeocoordinate.h" + +QT_BEGIN_NAMESPACE + +class QGeoCirclePrivate : public QGeoShapePrivate +{ +public: + QGeoCirclePrivate(); + QGeoCirclePrivate(const QGeoCoordinate ¢er, qreal radius); + QGeoCirclePrivate(const QGeoCirclePrivate &other); + ~QGeoCirclePrivate(); + + bool isValid() const Q_DECL_OVERRIDE; + bool isEmpty() const Q_DECL_OVERRIDE; + bool contains(const QGeoCoordinate &coordinate) const Q_DECL_OVERRIDE; + + QGeoCoordinate center() const Q_DECL_OVERRIDE; + + void extendShape(const QGeoCoordinate &coordinate) Q_DECL_OVERRIDE; + + QGeoShapePrivate *clone() const Q_DECL_OVERRIDE; + + bool operator==(const QGeoShapePrivate &other) const Q_DECL_OVERRIDE; + + QGeoCoordinate m_center; + qreal radius; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeocoordinate.h b/libs/qtlocation/src/positioning/qgeocoordinate.h new file mode 100644 index 0000000000000000000000000000000000000000..a1a636db535c63b4f1c63b71637bcc41034f839f --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeocoordinate.h @@ -0,0 +1,127 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCOORDINATE_H +#define QGEOCOORDINATE_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QDebug; +class QDataStream; + +class QGeoCoordinatePrivate; +class Q_POSITIONING_EXPORT QGeoCoordinate +{ + Q_GADGET + + Q_PROPERTY(double latitude READ latitude WRITE setLatitude) + Q_PROPERTY(double longitude READ longitude WRITE setLongitude) + Q_PROPERTY(double altitude READ altitude WRITE setAltitude) + Q_PROPERTY(bool isValid READ isValid) + +public: + + enum CoordinateType { + InvalidCoordinate, + Coordinate2D, + Coordinate3D + }; + + enum CoordinateFormat { + Degrees, + DegreesWithHemisphere, + DegreesMinutes, + DegreesMinutesWithHemisphere, + DegreesMinutesSeconds, + DegreesMinutesSecondsWithHemisphere + }; + + QGeoCoordinate(); + QGeoCoordinate(double latitude, double longitude); + QGeoCoordinate(double latitude, double longitude, double altitude); + QGeoCoordinate(const QGeoCoordinate &other); + ~QGeoCoordinate(); + + QGeoCoordinate &operator=(const QGeoCoordinate &other); + + bool operator==(const QGeoCoordinate &other) const; + inline bool operator!=(const QGeoCoordinate &other) const { + return !operator==(other); + } + + bool isValid() const; + CoordinateType type() const; + + void setLatitude(double latitude); + double latitude() const; + + void setLongitude(double longitude); + double longitude() const; + + void setAltitude(double altitude); + double altitude() const; + + Q_INVOKABLE qreal distanceTo(const QGeoCoordinate &other) const; + Q_INVOKABLE qreal azimuthTo(const QGeoCoordinate &other) const; + + Q_INVOKABLE QGeoCoordinate atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const; + + Q_INVOKABLE QString toString(CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const; + +private: + QSharedDataPointer d; + + friend class QGeoCoordinatePrivate; +}; + +Q_DECLARE_TYPEINFO(QGeoCoordinate, Q_MOVABLE_TYPE); + +#ifndef QT_NO_DEBUG_STREAM +Q_POSITIONING_EXPORT QDebug operator<<(QDebug, const QGeoCoordinate &); +#endif + +#ifndef QT_NO_DATASTREAM +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate); +#endif + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoCoordinate) + +#endif diff --git a/libs/qtlocation/src/positioning/qgeocoordinate_p.h b/libs/qtlocation/src/positioning/qgeocoordinate_p.h new file mode 100644 index 0000000000000000000000000000000000000000..b9304b0c0a32b1c1f6b1f1f35675fed5134e1ee7 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeocoordinate_p.h @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOCOORDINATE_P_H +#define QGEOCOORDINATE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include "qgeocoordinate.h" + +QT_BEGIN_NAMESPACE + +class QGeoCoordinatePrivate : public QSharedData +{ +public: + QGeoCoordinatePrivate(); + QGeoCoordinatePrivate(const QGeoCoordinatePrivate &other); + ~QGeoCoordinatePrivate(); + + double lat; + double lng; + double alt; + + static void atDistanceAndAzimuth(const QGeoCoordinate &coord, + qreal distance, qreal azimuth, + double *lon, double *lat); +}; + +QT_END_NAMESPACE + +#endif // QGEOCOORDINATE_P_H diff --git a/libs/qtlocation/src/positioning/qgeolocation.h b/libs/qtlocation/src/positioning/qgeolocation.h new file mode 100644 index 0000000000000000000000000000000000000000..579a2a4a5973566afea8f23ba991e43abad42a42 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeolocation.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOLOCATION_H +#define QGEOLOCATION_H + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoAddress; +class QGeoCoordinate; +class QGeoRectangle; +class QGeoLocationPrivate; + +class Q_POSITIONING_EXPORT QGeoLocation +{ +public: + QGeoLocation(); + QGeoLocation(const QGeoLocation &other); + + ~QGeoLocation(); + + QGeoLocation &operator=(const QGeoLocation &other); + + bool operator==(const QGeoLocation &other) const; + bool operator!=(const QGeoLocation &other) const { + return !(other == *this); + } + + QGeoAddress address() const; + void setAddress(const QGeoAddress &address); + QGeoCoordinate coordinate() const; + void setCoordinate(const QGeoCoordinate &position); + QGeoRectangle boundingBox() const; + void setBoundingBox(const QGeoRectangle &box); + + bool isEmpty() const; + +private: + QSharedDataPointer d; +}; + +Q_DECLARE_TYPEINFO(QGeoLocation, Q_MOVABLE_TYPE); + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoLocation) + +#endif diff --git a/libs/qtlocation/src/positioning/qgeolocation_p.h b/libs/qtlocation/src/positioning/qgeolocation_p.h new file mode 100644 index 0000000000000000000000000000000000000000..cafcafea0db14edf815ddb4190c6e0ff212582d7 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeolocation_p.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOLOCATION_P_H +#define QGEOLOCATION_P_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoLocationPrivate : public QSharedData +{ +public: + QGeoLocationPrivate(); + QGeoLocationPrivate(const QGeoLocationPrivate &other); + + ~QGeoLocationPrivate(); + + bool operator==(const QGeoLocationPrivate &other) const; + + bool isEmpty() const; + + QGeoAddress address; + QGeoCoordinate coordinate; + QGeoRectangle viewport; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeopositioninfo.h b/libs/qtlocation/src/positioning/qgeopositioninfo.h new file mode 100644 index 0000000000000000000000000000000000000000..0d17f70befa124e78eaf2b39ebfea69a61985b2e --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeopositioninfo.h @@ -0,0 +1,107 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOPOSITIONINFO_H +#define QGEOPOSITIONINFO_H + +#include + +#include + +QT_BEGIN_NAMESPACE + +class QDebug; +class QDataStream; + +class QGeoPositionInfoPrivate; +class Q_POSITIONING_EXPORT QGeoPositionInfo +{ +public: + enum Attribute { + Direction, + GroundSpeed, + VerticalSpeed, + MagneticVariation, + HorizontalAccuracy, + VerticalAccuracy + }; + + QGeoPositionInfo(); + QGeoPositionInfo(const QGeoCoordinate &coordinate, const QDateTime &updateTime); + QGeoPositionInfo(const QGeoPositionInfo &other); + ~QGeoPositionInfo(); + + QGeoPositionInfo &operator=(const QGeoPositionInfo &other); + + bool operator==(const QGeoPositionInfo &other) const; + inline bool operator!=(const QGeoPositionInfo &other) const { + return !operator==(other); + } + + bool isValid() const; + + void setTimestamp(const QDateTime ×tamp); + QDateTime timestamp() const; + + void setCoordinate(const QGeoCoordinate &coordinate); + QGeoCoordinate coordinate() const; + + void setAttribute(Attribute attribute, qreal value); + qreal attribute(Attribute attribute) const; + void removeAttribute(Attribute attribute); + bool hasAttribute(Attribute attribute) const; + +private: +#ifndef QT_NO_DEBUG_STREAM + friend Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const QGeoPositionInfo &info); +#endif +#ifndef QT_NO_DATASTREAM + friend Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &stream, const QGeoPositionInfo &info); + friend Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoPositionInfo &info); +#endif + QGeoPositionInfoPrivate *d; +}; + +#ifndef QT_NO_DEBUG_STREAM +Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const QGeoPositionInfo &info); +#endif + +#ifndef QT_NO_DATASTREAM +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &stream, QGeoPositionInfo::Attribute attr); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoPositionInfo::Attribute &attr); +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &stream, const QGeoPositionInfo &info); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoPositionInfo &info); +#endif + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeopositioninfosource.h b/libs/qtlocation/src/positioning/qgeopositioninfosource.h new file mode 100644 index 0000000000000000000000000000000000000000..bf6f49904e5a92153ac92ea9b69d7f5007865b25 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeopositioninfosource.h @@ -0,0 +1,108 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOPOSITIONINFOSOURCE_H +#define QGEOPOSITIONINFOSOURCE_H + +#include + +#include + +QT_BEGIN_NAMESPACE + +class QGeoPositionInfoSourcePrivate; +class Q_POSITIONING_EXPORT QGeoPositionInfoSource : public QObject +{ + Q_OBJECT + Q_PROPERTY(int updateInterval READ updateInterval WRITE setUpdateInterval) + Q_PROPERTY(int minimumUpdateInterval READ minimumUpdateInterval) + Q_PROPERTY(QString sourceName READ sourceName) + +public: + enum Error { + AccessError = 0, + ClosedError = 1, + UnknownSourceError = 2, + NoError = 3 + }; + Q_ENUMS(Error) + + enum PositioningMethod { + NoPositioningMethods = 0x00000000, + SatellitePositioningMethods = 0x000000ff, + NonSatellitePositioningMethods = 0xffffff00, + AllPositioningMethods = 0xffffffff + }; + Q_DECLARE_FLAGS(PositioningMethods, PositioningMethod) + + explicit QGeoPositionInfoSource(QObject *parent); + virtual ~QGeoPositionInfoSource(); + + virtual void setUpdateInterval(int msec); + int updateInterval() const; + + virtual void setPreferredPositioningMethods(PositioningMethods methods); + PositioningMethods preferredPositioningMethods() const; + + virtual QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const = 0; + + virtual PositioningMethods supportedPositioningMethods() const = 0; + virtual int minimumUpdateInterval() const = 0; + + QString sourceName() const; + + static QGeoPositionInfoSource *createDefaultSource(QObject *parent); + static QGeoPositionInfoSource *createSource(const QString &sourceName, QObject *parent); + static QStringList availableSources(); + virtual Error error() const = 0; + +public Q_SLOTS: + virtual void startUpdates() = 0; + virtual void stopUpdates() = 0; + + virtual void requestUpdate(int timeout = 0) = 0; + +Q_SIGNALS: + void positionUpdated(const QGeoPositionInfo &update); + void updateTimeout(); + void error(QGeoPositionInfoSource::Error); + +private: + Q_DISABLE_COPY(QGeoPositionInfoSource) + QGeoPositionInfoSourcePrivate *d; +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoPositionInfoSource::PositioningMethods) + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeopositioninfosource_p.h b/libs/qtlocation/src/positioning/qgeopositioninfosource_p.h new file mode 100644 index 0000000000000000000000000000000000000000..aedf3319fd91e41d9714c5280cfb083075c861d0 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeopositioninfosource_p.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOPOSITIONINFOSOURCE_P_H +#define QGEOPOSITIONINFOSOURCE_P_H + +#include "qgeopositioninfosource.h" +#include "qgeopositioninfosourcefactory.h" +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoPositionInfoSourcePrivate +{ +public: + int interval; + QGeoPositionInfoSource::PositioningMethods methods; + QJsonObject metaData; + QGeoPositionInfoSourceFactory *factory; + QString providerName; + + void loadMeta(); + void loadPlugin(); + + static QHash plugins(bool reload = false); + static void loadPluginMetadata(QHash &list); + static QList pluginsSorted(); +}; + +QT_END_NAMESPACE + +#endif // QGEOPOSITIONINFOSOURCE_P_H diff --git a/libs/qtlocation/src/positioning/qgeopositioninfosourcefactory.h b/libs/qtlocation/src/positioning/qgeopositioninfosourcefactory.h new file mode 100644 index 0000000000000000000000000000000000000000..34c644fae7e3947c7ebcc631b8300fbaabfbd529 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeopositioninfosourcefactory.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOPOSITIONINFOSOURCEFACTORY_H +#define QGEOPOSITIONINFOSOURCEFACTORY_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Q_POSITIONING_EXPORT QGeoPositionInfoSourceFactory +{ +public: + virtual ~QGeoPositionInfoSourceFactory(); + + virtual QGeoPositionInfoSource *positionInfoSource(QObject *parent) = 0; + virtual QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) = 0; + virtual QGeoAreaMonitorSource *areaMonitor(QObject *parent) = 0; +}; + +#define QT_POSITION_SOURCE_INTERFACE +Q_DECLARE_INTERFACE(QGeoPositionInfoSourceFactory, + "org.qt-project.qt.position.sourcefactory/5.0") + +QT_END_NAMESPACE + +#endif // QGEOPOSITIONINFOSOURCEFACTORY_H diff --git a/libs/qtlocation/src/positioning/qgeoprojection_p.h b/libs/qtlocation/src/positioning/qgeoprojection_p.h new file mode 100644 index 0000000000000000000000000000000000000000..f1b32525bc046443efd138cfcc549ebb91cf77b3 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeoprojection_p.h @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOPROJECTION_P_H +#define QGEOPROJECTION_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#ifndef M_PI +#define M_PI (3.14159265358979323846) +#endif + +#include +#include +#include "qpositioningglobal.h" + +QT_BEGIN_NAMESPACE + +class QGeoCoordinate; +class QDoubleVector2D; + +Q_POSITIONING_EXPORT QVariant geoCoordinateInterpolator(const QGeoCoordinate &from, + const QGeoCoordinate &to, + qreal progress); + +class Q_POSITIONING_EXPORT QGeoProjection +{ +public: + static QDoubleVector2D coordToMercator(const QGeoCoordinate &coord); + static QGeoCoordinate mercatorToCoord(const QDoubleVector2D &mercator); + static QGeoCoordinate coordinateInterpolation(const QGeoCoordinate &from, const QGeoCoordinate &to, qreal progress); + +private: + static double realmod(const double a, const double b); +}; + +QT_END_NAMESPACE + +#endif // QGEOPROJECTION_P_H diff --git a/libs/qtlocation/src/positioning/qgeorectangle.h b/libs/qtlocation/src/positioning/qgeorectangle.h new file mode 100644 index 0000000000000000000000000000000000000000..b39b5328e3fe40d9614f907e298e8b438b87d7e7 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeorectangle.h @@ -0,0 +1,124 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEORECTANGLE_H +#define QGEORECTANGLE_H + +#include + +QT_BEGIN_NAMESPACE + +class QGeoCoordinate; +class QGeoRectanglePrivate; + +class Q_POSITIONING_EXPORT QGeoRectangle : public QGeoShape +{ + Q_GADGET + Q_PROPERTY(QGeoCoordinate bottomLeft READ bottomLeft WRITE setBottomLeft) + Q_PROPERTY(QGeoCoordinate bottomRight READ bottomRight WRITE setBottomRight) + Q_PROPERTY(QGeoCoordinate topLeft READ topLeft WRITE setTopLeft) + Q_PROPERTY(QGeoCoordinate topRight READ topRight WRITE setTopRight) + Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter) + Q_PROPERTY(double height READ height WRITE setHeight) + Q_PROPERTY(double width READ width WRITE setWidth) + +public: + QGeoRectangle(); + QGeoRectangle(const QGeoCoordinate ¢er, double degreesWidth, double degreesHeight); + QGeoRectangle(const QGeoCoordinate &topLeft, const QGeoCoordinate &bottomRight); + QGeoRectangle(const QList &coordinates); + QGeoRectangle(const QGeoRectangle &other); + QGeoRectangle(const QGeoShape &other); + + ~QGeoRectangle(); + + QGeoRectangle &operator=(const QGeoRectangle &other); + + using QGeoShape::operator==; + bool operator==(const QGeoRectangle &other) const; + + using QGeoShape::operator!=; + bool operator!=(const QGeoRectangle &other) const; + + void setTopLeft(const QGeoCoordinate &topLeft); + QGeoCoordinate topLeft() const; + + void setTopRight(const QGeoCoordinate &topRight); + QGeoCoordinate topRight() const; + + void setBottomLeft(const QGeoCoordinate &bottomLeft); + QGeoCoordinate bottomLeft() const; + + void setBottomRight(const QGeoCoordinate &bottomRight); + QGeoCoordinate bottomRight() const; + + void setCenter(const QGeoCoordinate ¢er); + QGeoCoordinate center() const; + + void setWidth(double degreesWidth); + double width() const; + + void setHeight(double degreesHeight); + double height() const; + + using QGeoShape::contains; + bool contains(const QGeoRectangle &rectangle) const; + bool intersects(const QGeoRectangle &rectangle) const; + + void translate(double degreesLatitude, double degreesLongitude); + QGeoRectangle translated(double degreesLatitude, double degreesLongitude) const; + + QGeoRectangle united(const QGeoRectangle &rectangle) const; + QGeoRectangle operator|(const QGeoRectangle &rectangle) const; + QGeoRectangle &operator|=(const QGeoRectangle &rectangle); + + Q_INVOKABLE QString toString() const; + +private: + inline QGeoRectanglePrivate *d_func(); + inline const QGeoRectanglePrivate *d_func() const; +}; + +Q_DECLARE_TYPEINFO(QGeoRectangle, Q_MOVABLE_TYPE); + +inline QGeoRectangle QGeoRectangle::operator|(const QGeoRectangle &rectangle) const +{ + return united(rectangle); +} + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoRectangle) + +#endif + diff --git a/libs/qtlocation/src/positioning/qgeorectangle_p.h b/libs/qtlocation/src/positioning/qgeorectangle_p.h new file mode 100644 index 0000000000000000000000000000000000000000..36c79b1beed3a09b76e252c0e2ba30725634bcce --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeorectangle_p.h @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEORECTANGLE_P_H +#define QGEORECTANGLE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qgeoshape_p.h" +#include "qgeocoordinate.h" + +QT_BEGIN_NAMESPACE + +class QGeoRectanglePrivate : public QGeoShapePrivate +{ +public: + QGeoRectanglePrivate(); + QGeoRectanglePrivate(const QGeoCoordinate &topLeft, const QGeoCoordinate &bottomRight); + QGeoRectanglePrivate(const QGeoRectanglePrivate &other); + ~QGeoRectanglePrivate(); + + bool isValid() const Q_DECL_OVERRIDE; + bool isEmpty() const Q_DECL_OVERRIDE; + bool contains(const QGeoCoordinate &coordinate) const Q_DECL_OVERRIDE; + + QGeoCoordinate center() const Q_DECL_OVERRIDE; + + void extendShape(const QGeoCoordinate &coordinate) Q_DECL_OVERRIDE; + + QGeoShapePrivate *clone() const Q_DECL_OVERRIDE; + + bool operator==(const QGeoShapePrivate &other) const Q_DECL_OVERRIDE; + + QGeoCoordinate topLeft; + QGeoCoordinate bottomRight; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeosatelliteinfo.h b/libs/qtlocation/src/positioning/qgeosatelliteinfo.h new file mode 100644 index 0000000000000000000000000000000000000000..0c203a5362c54a796e08b049405d96ee3e0f05ef --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeosatelliteinfo.h @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOSATELLITEINFO_H +#define QGEOSATELLITEINFO_H + +#include + +QT_BEGIN_NAMESPACE + +class QDebug; +class QDataStream; + +class QGeoSatelliteInfoPrivate; +class Q_POSITIONING_EXPORT QGeoSatelliteInfo +{ +public: + enum Attribute { + Elevation, + Azimuth + }; + + enum SatelliteSystem { + Undefined = 0x00, + GPS = 0x01, + GLONASS = 0x02 + }; + + QGeoSatelliteInfo(); + QGeoSatelliteInfo(const QGeoSatelliteInfo &other); + ~QGeoSatelliteInfo(); + + QGeoSatelliteInfo &operator=(const QGeoSatelliteInfo &other); + + bool operator==(const QGeoSatelliteInfo &other) const; + inline bool operator!=(const QGeoSatelliteInfo &other) const { + return !operator==(other); + } + + void setSatelliteSystem(SatelliteSystem system); + SatelliteSystem satelliteSystem() const; + + void setSatelliteIdentifier(int satId); + int satelliteIdentifier() const; + + void setSignalStrength(int signalStrength); + int signalStrength() const; + + void setAttribute(Attribute attribute, qreal value); + qreal attribute(Attribute attribute) const; + void removeAttribute(Attribute attribute); + + bool hasAttribute(Attribute attribute) const; + +private: +#ifndef QT_NO_DEBUG_STREAM + friend Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const QGeoSatelliteInfo &info); +#endif +#ifndef QT_NO_DATASTREAM + friend Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &stream, const QGeoSatelliteInfo &info); + friend Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoSatelliteInfo &info); +#endif + QGeoSatelliteInfoPrivate *d; +}; + +#ifndef QT_NO_DEBUG_STREAM +Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const QGeoSatelliteInfo &info); +#endif + +#ifndef QT_NO_DATASTREAM +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &stream, const QGeoSatelliteInfo &info); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoSatelliteInfo &info); +#endif + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeosatelliteinfosource.h b/libs/qtlocation/src/positioning/qgeosatelliteinfosource.h new file mode 100644 index 0000000000000000000000000000000000000000..6066b7d06817f1f5ef1c730bf41c773cf9842daf --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeosatelliteinfosource.h @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QGEOSATELLITEINFOSOURCE_H +#define QGEOSATELLITEINFOSOURCE_H + +#include + +#include +#include + +QT_BEGIN_NAMESPACE + +class QGeoSatelliteInfoSourcePrivate; +class Q_POSITIONING_EXPORT QGeoSatelliteInfoSource : public QObject +{ + Q_OBJECT + Q_PROPERTY(int updateInterval READ updateInterval WRITE setUpdateInterval) + Q_PROPERTY(int minimumUpdateInterval READ minimumUpdateInterval) + +public: + enum Error { + AccessError = 0, + ClosedError = 1, + NoError = 2, + UnknownSourceError = -1 + }; + Q_ENUMS(Error) + + explicit QGeoSatelliteInfoSource(QObject *parent); + virtual ~QGeoSatelliteInfoSource(); + + static QGeoSatelliteInfoSource *createDefaultSource(QObject *parent); + static QGeoSatelliteInfoSource *createSource(const QString &sourceName, QObject *parent); + static QStringList availableSources(); + + QString sourceName() const; + + virtual void setUpdateInterval(int msec); + int updateInterval() const; + virtual int minimumUpdateInterval() const = 0; + virtual Error error() const = 0; + +public Q_SLOTS: + virtual void startUpdates() = 0; + virtual void stopUpdates() = 0; + + virtual void requestUpdate(int timeout = 0) = 0; + +Q_SIGNALS: + void satellitesInViewUpdated(const QList &satellites); + void satellitesInUseUpdated(const QList &satellites); + void requestTimeout(); + void error(QGeoSatelliteInfoSource::Error); + +private: + Q_DISABLE_COPY(QGeoSatelliteInfoSource) + QGeoSatelliteInfoSourcePrivate *d; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qgeoshape.h b/libs/qtlocation/src/positioning/qgeoshape.h new file mode 100644 index 0000000000000000000000000000000000000000..32f852b3c5c7a6297f0b1c6b0ffd14d348bd8e2d --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeoshape.h @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOSHAPE_H +#define QGEOSHAPE_H + +#include +#include + +QT_BEGIN_NAMESPACE + +class QDebug; +class QGeoShapePrivate; + +class Q_POSITIONING_EXPORT QGeoShape +{ + Q_GADGET + Q_PROPERTY(ShapeType type READ type) + Q_PROPERTY(bool isValid READ isValid) + Q_PROPERTY(bool isEmpty READ isEmpty) + Q_ENUMS(ShapeType) + +public: + QGeoShape(); + QGeoShape(const QGeoShape &other); + ~QGeoShape(); + + enum ShapeType { + UnknownType, + RectangleType, + CircleType + }; + + ShapeType type() const; + + bool isValid() const; + bool isEmpty() const; + Q_INVOKABLE bool contains(const QGeoCoordinate &coordinate) const; + + QGeoCoordinate center() const; + + void extendShape(const QGeoCoordinate &coordinate); + + bool operator==(const QGeoShape &other) const; + bool operator!=(const QGeoShape &other) const; + + QGeoShape &operator=(const QGeoShape &other); + + Q_INVOKABLE QString toString() const; +protected: + QGeoShape(QGeoShapePrivate *d); + + QSharedDataPointer d_ptr; + +private: + inline QGeoShapePrivate *d_func(); + inline const QGeoShapePrivate *d_func() const; +}; + +Q_DECLARE_TYPEINFO(QGeoShape, Q_MOVABLE_TYPE); + +#ifndef QT_NO_DEBUG_STREAM +Q_POSITIONING_EXPORT QDebug operator<<(QDebug, const QGeoShape &); +#endif + +#ifndef QT_NO_DATASTREAM +Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &stream, const QGeoShape &shape); +Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoShape &shape); +#endif + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QGeoShape) + +#endif + diff --git a/libs/qtlocation/src/positioning/qgeoshape_p.h b/libs/qtlocation/src/positioning/qgeoshape_p.h new file mode 100644 index 0000000000000000000000000000000000000000..ef6f4005b32060d15bb35bf02fbd29b38bbaa561 --- /dev/null +++ b/libs/qtlocation/src/positioning/qgeoshape_p.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGEOSHAPE_P_H +#define QGEOSHAPE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#include "qgeoshape.h" + +QT_BEGIN_NAMESPACE + +class QGeoShapePrivate : public QSharedData +{ +public: + explicit QGeoShapePrivate(QGeoShape::ShapeType type); + virtual ~QGeoShapePrivate(); + + virtual bool isValid() const = 0; + virtual bool isEmpty() const = 0; + virtual bool contains(const QGeoCoordinate &coordinate) const = 0; + + virtual QGeoCoordinate center() const = 0; + + virtual void extendShape(const QGeoCoordinate &coordinate) = 0; + + virtual QGeoShapePrivate *clone() const = 0; + + virtual bool operator==(const QGeoShapePrivate &other) const; + + QGeoShape::ShapeType type; +}; + +// don't use the copy constructor when detaching from a QSharedDataPointer, use virtual clone() +// call instead. +template <> +Q_INLINE_TEMPLATE QGeoShapePrivate *QSharedDataPointer::clone() +{ + return d->clone(); +} + +QT_END_NAMESPACE + +#endif + diff --git a/libs/qtlocation/src/positioning/qlocationutils_p.h b/libs/qtlocation/src/positioning/qlocationutils_p.h new file mode 100644 index 0000000000000000000000000000000000000000..8c39463f720f14caefe37ef91f8d7b5a02659e39 --- /dev/null +++ b/libs/qtlocation/src/positioning/qlocationutils_p.h @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QLOCATIONUTILS_P_H +#define QLOCATIONUTILS_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +QT_BEGIN_NAMESPACE +class QTime; +class QByteArray; + +class QGeoPositionInfo; +class QLocationUtils +{ +public: + inline static bool isValidLat(double lat) { + return lat >= -90 && lat <= 90; + } + inline static bool isValidLong(double lng) { + return lng >= -180 && lng <= 180; + } + + inline static double clipLat(double lat) { + if (lat > 90) + lat = 90; + else if (lat < -90) + lat = -90; + return lat; + } + + inline static double wrapLong(double lng) { + if (lng > 180) + lng -= 360; + else if (lng < -180) + lng += 360; + return lng; + } + + /* + Creates a QGeoPositionInfo from a GGA, GLL, RMC, VTG or ZDA sentence. + + Note: + - GGA and GLL sentences have time but not date so the update's + QDateTime object will have an invalid date. + - RMC reports date with a two-digit year so in this case the year + is assumed to be after the year 2000. + */ + Q_AUTOTEST_EXPORT static bool getPosInfoFromNmea(const char *data, int size, + QGeoPositionInfo *info, double uere, + bool *hasFix = 0); + + /* + Returns true if the given NMEA sentence has a valid checksum. + */ + Q_AUTOTEST_EXPORT static bool hasValidNmeaChecksum(const char *data, int size); + + /* + Returns time from a string in hhmmss or hhmmss.z+ format. + */ + Q_AUTOTEST_EXPORT static bool getNmeaTime(const QByteArray &bytes, QTime *time); + + /* + Accepts for example ("2734.7964", 'S', "15306.0124", 'E') and returns the + lat-long values. Fails if lat or long fail isValidLat() or isValidLong(). + */ + Q_AUTOTEST_EXPORT static bool getNmeaLatLong(const QByteArray &latString, char latDirection, const QByteArray &lngString, char lngDirection, double *lat, double *lon); +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qnmeapositioninfosource.h b/libs/qtlocation/src/positioning/qnmeapositioninfosource.h new file mode 100644 index 0000000000000000000000000000000000000000..9bb67c9fc832ea114b8dbd801e9cd914eac5c942 --- /dev/null +++ b/libs/qtlocation/src/positioning/qnmeapositioninfosource.h @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QNMEAPOSITIONINFOSOURCE_H +#define QNMEAPOSITIONINFOSOURCE_H + +#include + +QT_BEGIN_NAMESPACE + +class QIODevice; + +class QNmeaPositionInfoSourcePrivate; +class Q_POSITIONING_EXPORT QNmeaPositionInfoSource : public QGeoPositionInfoSource +{ + Q_OBJECT +public: + enum UpdateMode { + RealTimeMode = 1, + SimulationMode + }; + + explicit QNmeaPositionInfoSource(UpdateMode updateMode, QObject *parent = 0); + ~QNmeaPositionInfoSource(); + + void setUserEquivalentRangeError(double uere); + double userEquivalentRangeError() const; + + UpdateMode updateMode() const; + + void setDevice(QIODevice *source); + QIODevice *device() const; + + void setUpdateInterval(int msec); + + QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const; + PositioningMethods supportedPositioningMethods() const; + int minimumUpdateInterval() const; + Error error() const; + + +public Q_SLOTS: + void startUpdates(); + void stopUpdates(); + void requestUpdate(int timeout = 0); + +protected: + virtual bool parsePosInfoFromNmeaData(const char *data, + int size, + QGeoPositionInfo *posInfo, + bool *hasFix); + +private: + Q_DISABLE_COPY(QNmeaPositionInfoSource) + friend class QNmeaPositionInfoSourcePrivate; + QNmeaPositionInfoSourcePrivate *d; + void setError(QGeoPositionInfoSource::Error positionError); +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qnmeapositioninfosource_p.h b/libs/qtlocation/src/positioning/qnmeapositioninfosource_p.h new file mode 100644 index 0000000000000000000000000000000000000000..069f9d287ce5f568a6568c8de91ae1f444a262d2 --- /dev/null +++ b/libs/qtlocation/src/positioning/qnmeapositioninfosource_p.h @@ -0,0 +1,171 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QNMEAPOSITIONINFOSOURCE_P_H +#define QNMEAPOSITIONINFOSOURCE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qnmeapositioninfosource.h" +#include "qgeopositioninfo.h" + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QBasicTimer; +class QTimerEvent; +class QTimer; + +class QNmeaReader; +struct QPendingGeoPositionInfo +{ + QGeoPositionInfo info; + bool hasFix; +}; + + +class QNmeaPositionInfoSourcePrivate : public QObject +{ + Q_OBJECT +public: + QNmeaPositionInfoSourcePrivate(QNmeaPositionInfoSource *parent, QNmeaPositionInfoSource::UpdateMode updateMode); + ~QNmeaPositionInfoSourcePrivate(); + + void startUpdates(); + void stopUpdates(); + void requestUpdate(int msec); + + bool parsePosInfoFromNmeaData(const char *data, + int size, + QGeoPositionInfo *posInfo, + bool *hasFix); + + void notifyNewUpdate(QGeoPositionInfo *update, bool fixStatus); + + QNmeaPositionInfoSource::UpdateMode m_updateMode; + QPointer m_device; + QGeoPositionInfo m_lastUpdate; + bool m_invokedStart; + QGeoPositionInfoSource::Error m_positionError; + double m_userEquivalentRangeError; + +public Q_SLOTS: + void readyRead(); + +protected: + void timerEvent(QTimerEvent *event); + +private Q_SLOTS: + void emitPendingUpdate(); + void sourceDataClosed(); + void updateRequestTimeout(); + +private: + bool openSourceDevice(); + bool initialize(); + void prepareSourceDevice(); + void emitUpdated(const QGeoPositionInfo &update); + + QNmeaPositionInfoSource *m_source; + QNmeaReader *m_nmeaReader; + QBasicTimer *m_updateTimer; + QGeoPositionInfo m_pendingUpdate; + QDate m_currentDate; + QTimer *m_requestTimer; + qreal m_horizontalAccuracy; + qreal m_verticalAccuracy; + bool m_noUpdateLastInterval; + bool m_updateTimeoutSent; + bool m_connectedReadyRead; +}; + + +class QNmeaReader +{ +public: + explicit QNmeaReader(QNmeaPositionInfoSourcePrivate *sourcePrivate) + : m_proxy(sourcePrivate) {} + virtual ~QNmeaReader() {} + + virtual void readAvailableData() = 0; + +protected: + QNmeaPositionInfoSourcePrivate *m_proxy; +}; + + +class QNmeaRealTimeReader : public QNmeaReader +{ +public: + explicit QNmeaRealTimeReader(QNmeaPositionInfoSourcePrivate *sourcePrivate); + virtual void readAvailableData(); +}; + + +class QNmeaSimulatedReader : public QObject, public QNmeaReader +{ + Q_OBJECT +public: + explicit QNmeaSimulatedReader(QNmeaPositionInfoSourcePrivate *sourcePrivate); + ~QNmeaSimulatedReader(); + virtual void readAvailableData(); + +protected: + virtual void timerEvent(QTimerEvent *event); + +private Q_SLOTS: + void simulatePendingUpdate(); + +private: + bool setFirstDateTime(); + void processNextSentence(); + + QQueue m_pendingUpdates; + int m_currTimerId; + bool m_hasValidDateTime; +}; + +QT_END_NAMESPACE + +#endif diff --git a/libs/qtlocation/src/positioning/qpositioningglobal.h b/libs/qtlocation/src/positioning/qpositioningglobal.h new file mode 100644 index 0000000000000000000000000000000000000000..6e1e65e0d52b6d09b100e8dea4893c8d35000ded --- /dev/null +++ b/libs/qtlocation/src/positioning/qpositioningglobal.h @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QPOSITIONINGGLOBAL_H +#define QPOSITIONINGGLOBAL_H + +#include + +QT_BEGIN_NAMESPACE + +#ifndef QT_STATIC +# if defined(QT_BUILD_POSITIONING_LIB) +# define Q_POSITIONING_EXPORT Q_DECL_EXPORT +# else +# define Q_POSITIONING_EXPORT Q_DECL_IMPORT +# endif +#else +# define Q_POSITIONING_EXPORT +#endif + + +QT_END_NAMESPACE + +#endif // QPOSITIONINGGLOBAL_H +