Revision control

++ // Copyright (C) 2017 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
++
++ /*!
++ \example logfilepositionsource
++ \title Log File Position Source (C++)
++ \ingroup qtpositioning-examples
++ \examplecategory {Positioning & Location}
++
++ \brief Logfile Position Source shows how to create and work with a custom
++ position source. It can be useful for simulating GPS data, or when the
++ data is received in some custom format.
++
++ \include examples-run.qdocinc
++
++ \section1 Creating custom Position Source
++
++ In this example, the data is read from a text file, \e simplelog.txt. The file
++ specifies position data using a simple text format: it contains one position
++ update per line, where each line contains a date/time, a latitude and a
++ longitude, separated by spaces. The date/time is in ISO 8601 format and the
++ latitude and longitude are in degrees decimal format.
++ Here is an excerpt from \e simplelog.txt:
++
++ \code
++ 2009-08-24T22:25:01 -27.576082 153.092415
++ 2009-08-24T22:25:02 -27.576223 153.092530
++ 2009-08-24T22:25:03 -27.576364 153.092648
++ \endcode
++
++ We create a custom \c LogFilePositionSource class, which derives from
++ \l QGeoPositionInfoSource. It reads position data from the file and distributes
++ it via the \l {QGeoPositionInfoSource::}{positionUpdated()} signal.
++
++ The resulting time and position information is then displayed on the screen as
++ simple text in date/time and latitude/longitude format.
++
++ Here is the definition of the \c LogFilePositionSource class:
++
++ \quotefromfile logfilepositionsource/logfilepositionsource.h
++ \skipto class LogFilePositionSource
++ \printuntil };
++
++ The main methods overrided by the subclass are:
++
++ \list
++ \li \l{QGeoPositionInfoSource::startUpdates()}{startUpdates()}: called by client applications
++ to start regular position updates.
++ \li \l{QGeoPositionInfoSource::stopUpdates()}{stopUpdates()}: called by client applications to
++ stop regular position updates.
++ \li \l{QGeoPositionInfoSource::requestUpdate()}{requestUpdate()}: called by client applications
++ to request a single update, with a specified timeout.
++ \endlist
++
++ When a position update is available, the subclass emits the
++ \l{QGeoPositionInfoSource::positionUpdated()}{positionUpdated()} signal.
++
++ Here are the key methods in the class implementation:
++
++ \quotefromfile logfilepositionsource/logfilepositionsource.cpp
++ \skipto LogFilePositionSource::LogFilePositionSource
++ \printuntil /^\}/
++ \skipto LogFilePositionSource::startUpdates
++ \printuntil /^\}/
++ \skipto LogFilePositionSource::stopUpdates
++ \printuntil /^\}/
++ \skipto LogFilePositionSource::requestUpdate
++ \printuntil /^\}/
++ \printuntil LogFilePositionSource::readNextPosition
++ \printuntil /^\}/
++ */