summaryrefslogtreecommitdiffstats
path: root/src/plugins/position/geoclue/qgeopositioninfosource_geocluemaster.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix build for -no-feature-temporaryfileStephan Binner2017-04-251-1/+1
| | | | | Change-Id: Ic269e15b8044e319ff095cc758f20ebc02dda714 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix -Wreorder warningPaolo Angelelli2017-03-071-3/+3
| | | | | Change-Id: I5fcc43f3164e0eb83d1504e892d0ede9d54fe3ae Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Set parent to timers in position pluginsVyacheslav Koscheev2017-02-071-1/+1
| | | | | | | | | QTimer can be started and stoped only from owner thread. So, if we'll do moveToThread for parent object, then we need QTimer to have a parent to change its owner thread too. Change-Id: Iac57d42b6e72118f31d93f15662403f681925f88 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Updated license headersAntti Kokko2016-01-201-15/+21
| | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Iaee1a5fd53291752a1891710ee375ca32778b142 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Use categorized logging for Geoclue plugin.Aaron McCarthy2015-09-101-28/+33
| | | | | Change-Id: I9e04a6e8ea75fc1c2ebb3cdd7de4e02e98461613 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Remove dependency on libgeoclue.Aaron McCarthy2015-09-101-213/+161
| | | | | | | | | | | | | | | | Re-implement Geoclue plugin using only Qt DBus dropping both the build-time and run-time dependency on libgeoclue. Allowing the Geoclue plugin to be build on all platforms that support Qt DBus. The priority of the Geoclue plugin has been lowered slightly so that the native position plugin, if available, has precedence. [ChangeLog][QtPositioning][Position] The Geoclue plugin has been re-implemented using Qt DBus. Task-number: QTBUG-40702 Change-Id: Ia06d089bfb46c10769ccffd765c044c361a9b484 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Make geoclue plugin compile on gcc4.5Alex Blasche2015-07-241-1/+1
| | | | | | Change-Id: Ic95affaf6952877b567b55a5ce6c385acd405736 Task-number: QTBUG-47427 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Make geoclue plugin compile on RHEL 6.6Alex Blasche2015-05-121-1/+1
| | | | | | | | G_VALUE_INIT was added by glib 2.30 and RHEL 6.6 uses 2.28. We expand the macro to fix the compile issue. Change-Id: I25d19858ad3035a266d9ddf4d9badc830071e943 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Update contact URL in all license headers to qt.ioAlex Blasche2015-02-181-1/+1
| | | | | Change-Id: Ia1e333be7fec8898de609d9b9303b1ad7687632e Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* Update BSD and LGPLv2.1 licensesAlex Blasche2015-02-181-3/+3
| | | | | | | | - Removes subsidiary extension from Qt Company - Replaces remaining occurrences of Digia in BSD and LGPLv2.1 Change-Id: I7467a6744af7d1c3aef3c29118f219399162a18c Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* Update all LGPLv2.1 license headers in source to latest versionAlex Blasche2015-02-151-4/+4
| | | | | | | | | | | This affects all QtPositioning related code and the test code in the entire repository. The Qt Company is set as new copyright owner and the copyright year is bumped to 2015. Change-Id: Iee0e990680683c20f5920e49cc1063ea9349e2cd Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add missing QDataStream include following header change in qtbaseAlex Blasche2015-01-081-0/+4
| | | | | | Change-Id: I285abdcf09f42f5231e1191610f528638a8a3003 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Michal Klocek <michal.klocek@digia.com>
* Update license headers and add new license filesAntti Kokko2014-08-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: Iedee2507ab1bd46788409a98505d7be510253110 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Report error when failing to connect to Geoclue.Aaron McCarthy2014-08-131-7/+24
| | | | | | | | | [ChangeLog][QtPositioning][QGeoPositionInfoSource] Report errors when failing to connect to Geoclue. Task-number: QTBUG-40425 Change-Id: If3fa0929b724aa70a1fed01b5951f5bc9bd5adad Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Send requested update interval to Geoclue providers.Aaron McCarthy2014-03-041-181/+145
| | | | | | | | | | | | | | | | | Send the requested update interval to the active Geoclue provider. The update interval is sent by passing and 'UpdateInterval' option to the provider. Not all Geoclue providers support this setting, in which case they will report position changes at their default rate. The Geoclue position info source no longer limits the rate of position updates internally. [ChangeLog][QtPositioning][Geoclue] The Geoclue position info source provider no longer internally filters position updates to the requested update interval. Change-Id: I96a112575173d4fa485905b1885a98fe43da1153 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Emit updateTimeout() when regular position updates aren't received.Aaron McCarthy2014-03-041-8/+12
| | | | | | | | | | | | | The documentation indicates that the updateTimeout() signal should be emitted once when the source determines that regular updates will no longer be received. [ChangeLog][QtPositioning][Geoclue] The Geoclue position source now emits the updateTimeout() signal when position updates do not arrive in a timely manner. Change-Id: I87c31a60a8e718a0ab72a1e270a93e967307f77a Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-121-13/+49
|\ | | | | | | Change-Id: I1de140f15e028425e888e6ef52d9f2ff11fd9d5b
| * Report direction and vertical speed with Geoclue plugin.Aaron McCarthy2014-02-041-13/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | Geoclude provides both direction and vertical speed information with the velocity interface. These values were previously being ignored. [ChangeLog][QtPositioning][Geoclue] The Geoclue plugin now reports direction of travel and vertical speed attributes, if supported by the active Geoclue provider. Task-number: QTBUG-36298 Change-Id: I9f99a64f3c2bd78a06a6c60e0ef3af6f75223e9f Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
| * Revert "Don't require applications to declare metatypes."Aaron McCarthy2013-12-101-2/+0
| | | | | | | | | | | | | | | | | | This reverts commit 5679a86968a6a26f8427b9c979f89f6ea5198d2f Change was source incompatible. Change-Id: Ied25ca3503a41e498a5c9b710e7a0dd3787bbe89 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
| * Don't require applications to declare metatypes.Aaron McCarthy2013-12-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | These metatypes need to be declared for common usage of the positioning API. Declare them in the library header files so that applications are not forced to do so. [ChangeLog][QtPositioning][General] Applications no longer need to register common Qt Positioning data types with the metatype system. Change-Id: I1d28ec8e33d20efc748cb6a0a2ad302e2061853f Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | Remove unneeded init() function.Aaron McCarthy2014-01-081-7/+0
|/ | | | | | | | Move call to g_type_init() to the constructor and only conditionally call it. g_type_init() has been deprecated since glib 2.35. Change-Id: I425dd7883eef404229e924003fe86924b5f8bb09 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix incorrect accuracy values reported by Geoclue plugin.Aaron McCarthy2013-12-031-9/+8
| | | | | | | | | Initialize variables to valid (unknown) values as they will not be assigned to if accuracy data is not available with the current position update from Geoclue. Change-Id: Icdca528da86df9a2a95acf1cc6704a9c39485fe2 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Set default preferred positioning methods for Geoclue position source.Aaron McCarthy2013-12-031-0/+2
| | | | | | | | Set the default positioning methods used by the Geoclue positioning source to all positioning methods. Change-Id: I62196cc0203642838104cb5a0dafa06b1df29190 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix requesting single updates from Geoclue plugin.Aaron McCarthy2013-11-191-31/+11
| | | | | | | | | | | | | Geoclue providers are expected to return a position update straight away, otherwise the geoclue-master blocks when positioning is started. This means that a position update with no longitude and latitude values is not an error. Change the Geoclue plugin to ignore these position updates, instead waiting for the specified timeout before aborting. Change-Id: I80b3c4cfdc31da78660f7435fdfac03963688c5a Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Emit the last known position when Geoclue positioning is started.Aaron McCarthy2013-11-191-0/+6
| | | | | | | | The QML position source already essentially does this as its position property is set to the last known position on construction. Change-Id: I3e41886348a218751ab0872e8d78ac92cb72dc0b Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix occasional crash in Geoclue plugin.Aaron McCarthy2013-11-071-0/+3
| | | | | | | | There is no need to create a DBus proxy object for Geoclue.Position when the service name and path are empty. Change-Id: I21ca2190aa929fa77e823c5cc7056ceb74f644eb Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Add NoError to the various Positioning Source classes.Alex Blasche2013-10-301-1/+1
| | | | | | | This became apparent while implementing the BB10 and Android backends. Change-Id: I54e2c0fce63021b9fad0c544777792aed726608b Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
* Save and restore the last known position.v5.2.0-beta1Aaron McCarthy2013-10-181-1/+27
| | | | | | | Saves the last known location on destruction. Change-Id: Id3c45bed4e94c9e44656d96a8dffc576c7e26a48 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Don't start Geoclue providers until necessary.Aaron McCarthy2013-10-161-40/+66
| | | | | | | | | | Creating the Geoclue master client starts the Geoclue providers. This causes the Geoclue provides to start, even though startUpdates() hasn't been called yet. Defer creating the master client until startUpdates() is called and destroy it when stopUpdates() is called. Change-Id: I8a40eb1d68b50288742b8da088bc14904b1165ba Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Emit updates from Geoclue when an update interval is not specified.Aaron McCarthy2013-10-081-12/+20
| | | | | | | | | | | An update interval of 0 is valid and means provide position updates as frequently as the provider can supply them. The state of the update timer was being used as the check for whether updates should be provided. This is invalid for the case of a 0 update interval as the update timer is not started. Change-Id: I2c9d3fef41abaa21feafd31b232a7053d179ffd6 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix Geoclue plugin when used with slow Geoclue providers.Aaron McCarthy2013-09-041-64/+20
| | | | | | | | | | | | | The Geoclue plugin expected the master provider to select a positioning provider quickly and would fail if one was not selected. This is likely to happen if the only provider available is GPS based and has to obtain a fix from a cold start. Fixed by changing the Geoclue plugin to report success as long as the master client interface is successfully created. Change-Id: Ib74e3800a2444eb80afd26c671371de884759119 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Split QtLocation into QtPositioning and QtLocationAlex Blasche2013-09-021-1/+1
| | | | | | | | | | | | QtPositioning is not dependent on any gui component and mostly covers everything around the retrieval of position information. QtLocation covers place, map and navigation APIs. Several documentation issues were fixed during the process. Change-Id: I98e2a53065549a2fc43f93a75b4f65b5bc884c92 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Add support for Geoclue Satellite interface.Aaron McCarthy2013-08-291-113/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Tizen project introduced an interface for getting the Satellite info directly from a positioning provider. If Geoclue supports this interface make use of it in the geoclue position plugin. The plugin no longer checks the gconf setting /apps/geoclue/master/org.freedesktop.Geoclue.GPSDevice for a valid GPS device. This setting is used by Gypsy (and other providers) but may not necessarily be used by all providers that provide GPS quality data. Instead rely on the Geoclue master provider to determine if GPS is available. Because of this change the gconf dependency has been dropped. The plugin no longer uses the Geoclue master provider as a proxy for position data. Instead it queries the master provider for the DBus service and path of the actual provider and connects directly to that provider. This has to be done anyway to get velocity and satellite data. The plugin no longer assumes that the real positioning provider is Gypsy. This assumption was hard coded as it was always connecting directly to Gypsy to get the velocity data irrespective of what positioning provider was actually being used. Geoclue master does not proxy the Velocity interface. Instead it queries the master provider for the DBus service and path of the actual provider and connects directly to that provider. If the velocity interface is available it will now be from the same provider as the position. Change-Id: I8a6116e4061e50cc28d1efd71df0f7a348a0f143 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
* PositionSource property fixes.Aaron McCarthy2013-07-161-4/+6
| | | | | | | | | | | | | | | | | | | | | | | PositionSource has a couple of property signal issues which stem from the fact that the order of property evaluation is not well defined during component construction. Fix emission of signals when the underlying position info source changes. When a new position info source is created the updatInterval, preferredPositioningMethods and supportedPositioningMethods change notification signals are emitted if necessary. Construction of a default position info source is delayed until after the component has been constructed. This saves creating a default position info source in the constructor and then (possibly) replacing it when the name property is set. Fix possibility of setting unsupported position methods as preferred. When setting the preferred positioning methods call the base class implementation first, to ensure that only supported positioning methods are set, prior to acting on the new preferred positioning methods. Change-Id: Ie402f87ca7d82b52fd4678c40867894d3b122942 Reviewed-by: Alex <alexander.blasche@digia.com>
* Update copyright year to 2013Sergio Ahumada2013-06-131-1/+1
| | | | | Change-Id: I5b0cb7d56997ad7b91c073b3e02b31d0368fdcfa Reviewed-by: Alex <alexander.blasche@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-241-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ic1390da64a219642fa1e1482a7677a4c2db15cbc Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix compile warnings.Aaron McCarthy2012-06-261-2/+2
| | | | | | | | Use toLatin1/fromLatin instead of toAscii/fromAscii. Add message format string to qCritical usages. Change-Id: I95c863fae6997cc8f85e0a6d16fdebba607a3ce1 Reviewed-by: Alex Wilson <alex.wilson@nokia.com>
* Add config test to detect when to build geoclue backend.Aaron McCarthy2012-06-251-0/+7
| | | | | | | | Previously the geoclue backend was only being built when CONFIG+=meego was set. Change-Id: I55f723d597aa7af159edb78e24bd2bf0116ae7dd Reviewed-by: Alex <alex.blasche@nokia.com>
* Coding style fixes: whitespace around pointers/referencesAlex Wilson2012-05-151-11/+11
| | | | | | Change-Id: Ie527591e2d9a1578137136fb6664e86c43eed1bf Reviewed-by: Thomas Lowe <thomas.lowe@nokia.com> Reviewed-by: Alex Wilson <alex.wilson@nokia.com>
* Coding style fixes: use true/false rather than TRUE/FALSE macrosAlex Wilson2012-05-151-1/+1
| | | | | | | C-style bool macros are considered obselete. Change-Id: I6090f3509b1852fd14e1ac57a3a9fa3b3abe6e08 Reviewed-by: Aaron McCarthy <aaron.mccarthy@nokia.com>
* Change uses of {to,from}Ascii to {to,from}Latin1Thiago Macieira2012-05-081-1/+1
| | | | | | | | | | This operation should be a no-op anyway, since at this point in time, the fromAscii and toAscii functions simply call their fromLatin1 and toLatin1 counterparts. Task-number: QTBUG-21872 Change-Id: I2e16486d80df6257ab88dc8c3b5d9dd497a19708 Reviewed-by: Aaron McCarthy <aaron.mccarthy@nokia.com>
* Update positioning sources to use new plugin styleAlex Wilson2012-03-121-0/+556
Notably, also splits the default sources that were previously compiled into the library, out into their own plugins. This follows a similar pattern to the geoservices change. We also drop the "plugin whitelisting" feature in favour of a simple Priority value in the plugin JSON -- the whitelist provides no additional security over this solution on any of our platforms. Task-number: QTBUG-24331 Change-Id: I62a9c940157ad2e33a9a575fa09633b98656b276 Reviewed-by: Alex <alex.blasche@nokia.com>