QGeoSatelliteInfoSource

Since: 1.0

#include <QtLocationSubset/QGeoSatelliteInfoSource>

The QGeoSatelliteInfoSource class is an abstract base class for the distribution of satellite information updates.

The static function QGeoSatelliteInfoSource::createDefaultSource() creates a default satellite data source that is appropriate for the platform, if one is available. Otherwise, available QGeoPositionInfoSourceFactory plugins will be checked for one that has a satellite data source available.

Call startUpdates() and stopUpdates() to start and stop regular updates, or requestUpdate() to request a single update. When an update is available, satellitesInViewUpdated() and/or satellitesInUseUpdated() will be emitted.

Users of a BlackBerry QGeoSatelliteInfoSource subclass (obtained from QGeoSatelliteInfoSource::createDefaultSource()) can access the underlying backend (BlackBerry Location Manager) for additional functionality via the Qt property system.

The following properties extend QGeoSatelliteInfoSource allowing use of additional features of the BlackBerry Location Manager. They correspond to the fields of the dat parameter of the location request. Set these properties prior to calling startUpdates() or requestUpdate().

period
This property specifies the period of the satellite update request, in seconds. A value of '0' indicates a one-time update request.
    source->setProperty( "period", 5.0 );
responseTime
This property specifies the desired response time of the update, in seconds. A value of '0' disables response time criteria.
    source->setProperty( "responseTime", 10.0 );
canRunInBackground
This property determines whether or not requests are allowed to run with the device in standby (i.e. screen off)
    source->setProperty( "canRunInBackground", true );

Overview

Public Functions Index

QGeoSatelliteInfoSource (QObject *parent)

Static Public Functions Index

QStringListavailableSources ()
QGeoSatelliteInfoSource *createDefaultSource (QObject *parent)
QGeoSatelliteInfoSource *createSource (const QString &sourceName, QObject *parent)

Public Slots Index

voidrequestUpdate (int timeout=0)=0
voidstartUpdates ()=0
voidstopUpdates ()=0

Signals Index

voidrequestTimeout ()
voidsatellitesInUseUpdated (const QList< QGeoSatelliteInfo > &satellites)
voidsatellitesInViewUpdated (const QList< QGeoSatelliteInfo > &satellites)

Public Functions

QGeoSatelliteInfoSource (

Creates a source with the specified parent.

Static Public Functions

QStringList availableSources ()

Returns a list of available source plugins.

Note that this does not include the default system backend, if one is available.

QGeoSatelliteInfoSource * createDefaultSource (

Creates and returns a source with the specified parent that reads from the system's default source of satellite update information, or the highest priority available plugin.

Returns 0 if the system has no default source and no valid plugins could be found.

QGeoSatelliteInfoSource * createSource (

Creates and returns a source with the given parent, by loading the plugin named sourceName.

Returns 0 if the plugin cannot be found.

Public Slots

void requestUpdate (
  • inttimeout)

Attempts to get the current satellite information and emit satellitesInViewUpdated() and satellitesInUseUpdated() with this information.

If the current position cannot be found within the given timeout (in milliseconds), requestTimeout() is emitted.

If the timeout is zero, the timeout defaults to a reasonable timeout period as appropriate for the source.

This does nothing if another update request is in progress. However it can be called even if startUpdates() has already been called and regular updates are in progress.

void startUpdates ()

Starts emitting updates at regular intervals.

void stopUpdates ()

Stops emitting updates at regular intervals.

Signals

void requestTimeout ()

Emitted if requestUpdate() was called and the current satellite information could not be retrieved within the specified timeout.

void satellitesInUseUpdated (

If startUpdates() or requestUpdate() is called, this signal is emitted when an update is available on the number of satellites that are currently in use.

These are the satellites that are used to get a "fix" - that is, those used to determine the current position.

The satellites parameter holds the satellites currently in use.

Note that QGeoSatelliteInfoSource is in the namespace QtMobilitySubset and this signal is not declared by fully qualifying the QGeoSatelliteInfo parameter. Thus care must be taken when declaring a slot for connection to this signal. For a related example see the description for QGeoPositionInfoSource::positionUpdated().

void satellitesInViewUpdated (

If startUpdates() or requestUpdate() is called, this signal is emitted when an update is available on the satellites that are currently in view.

The satellites parameter holds the satellites currently in view.

Note that QGeoSatelliteInfoSource is in the namespace QtMobilitySubset and this signal is not declared by fully qualifying the QGeoSatelliteInfo parameter. Thus care must be taken when declaring a slot for connection to this signal. For a related example see the description for QGeoPositionInfoSource::positionUpdated().

Last modified: 2014-09-30



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus