summaryrefslogtreecommitdiff
path: root/src/location/qgeopositioninfosource_simulator.cpp
diff options
context:
space:
mode:
authorAlex Wilson <alex.wilson@nokia.com>2012-03-07 16:38:50 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-12 03:25:51 +0100
commit369fa99b132f8c1425da8a41f1436b8d86aaa50e (patch)
treea13d675390d1590df27c70a4ee47b6490cc58800 /src/location/qgeopositioninfosource_simulator.cpp
parentc435861528161ee931287034f41023c11dfb7ba3 (diff)
downloadqtlocation-369fa99b132f8c1425da8a41f1436b8d86aaa50e.tar.gz
Update positioning sources to use new plugin style
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>
Diffstat (limited to 'src/location/qgeopositioninfosource_simulator.cpp')
-rw-r--r--src/location/qgeopositioninfosource_simulator.cpp174
1 files changed, 0 insertions, 174 deletions
diff --git a/src/location/qgeopositioninfosource_simulator.cpp b/src/location/qgeopositioninfosource_simulator.cpp
deleted file mode 100644
index f1b213d0..00000000
--- a/src/location/qgeopositioninfosource_simulator.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtLocation module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 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 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgeopositioninfosource_simulator_p.h"
-#include "qlocationdata_simulator_p.h"
-#include "qlocationconnection_simulator_p.h"
-
-#include <QtCore/QDebug>
-#include <QtCore/QTimer>
-#include <QtCore/QDataStream>
-
-#include <QtNetwork/QLocalSocket>
-
-QT_BEGIN_NAMESPACE
-
-namespace Simulator
-{
- QGeoPositionInfo toPositionInfo(const QGeoPositionInfoData &data)
- {
- QDateTime timestamp;
- if (data.dateTime.isValid())
- timestamp = data.dateTime;
- else
- timestamp = QDateTime::currentDateTime();
- QGeoCoordinate coord(data.latitude, data.longitude, data.altitude);
- QGeoPositionInfo info(coord, timestamp);
- info.setAttribute(QGeoPositionInfo::Direction, data.direction);
- info.setAttribute(QGeoPositionInfo::GroundSpeed, data.groundSpeed);
- info.setAttribute(QGeoPositionInfo::VerticalSpeed, data.verticalSpeed);
- info.setAttribute(QGeoPositionInfo::MagneticVariation, data.magneticVariation);
- info.setAttribute(QGeoPositionInfo::HorizontalAccuracy, data.horizontalAccuracy);
- info.setAttribute(QGeoPositionInfo::VerticalAccuracy, data.verticalAccuracy);
- return info;
- }
-} //namespace
-
-// Location API
-
-QGeoPositionInfoSourceSimulator::QGeoPositionInfoSourceSimulator(QObject *parent)
- : QGeoPositionInfoSource(parent)
- , timer(new QTimer(this))
- , requestTimer(new QTimer(this))
- , m_positionError(QGeoPositionInfoSource::UnknownSourceError)
-{
- Simulator::LocationConnection::ensureSimulatorConnection();
-
- connect(timer, SIGNAL(timeout()), this, SLOT(updatePosition()));
- requestTimer->setSingleShot(true);
- connect(requestTimer, SIGNAL(timeout()), this, SLOT(updatePosition()));
-}
-
-QGeoPositionInfoSourceSimulator::~QGeoPositionInfoSourceSimulator()
-{
-}
-
-QGeoPositionInfo QGeoPositionInfoSourceSimulator::lastKnownPosition(bool /*fromSatellitePositioningMethodsOnly*/) const
-{
- return lastPosition;
-}
-
-QGeoPositionInfoSource::PositioningMethods QGeoPositionInfoSourceSimulator::supportedPositioningMethods() const
-{
- // Is GPS now Satelite or not? Guessing so...
- return QGeoPositionInfoSource::SatellitePositioningMethods;
-}
-
-void QGeoPositionInfoSourceSimulator::setUpdateInterval(int msec)
-{
- // If msec is 0 we send updates as data becomes available, otherwise we force msec to be equal
- // to or larger than the minimum update interval.
- if (msec != 0 && msec < minimumUpdateInterval())
- msec = minimumUpdateInterval();
-
- QGeoPositionInfoSource::setUpdateInterval(msec);
- if (timer->isActive()) {
- timer->setInterval(msec);
- timer->start();
- }
-}
-
-int QGeoPositionInfoSourceSimulator::minimumUpdateInterval() const
-{
- return qtPositionInfo()->minimumInterval;
-}
-
-void QGeoPositionInfoSourceSimulator::startUpdates()
-{
- int interval = updateInterval();
- if (interval < minimumUpdateInterval())
- interval = minimumUpdateInterval();
- timer->setInterval(interval);
- timer->start();
-}
-
-void QGeoPositionInfoSourceSimulator::stopUpdates()
-{
- timer->stop();
-}
-
-void QGeoPositionInfoSourceSimulator::requestUpdate(int timeout)
-{
- if (!requestTimer->isActive()) {
- // Get a single update within timeframe
- if (timeout < minimumUpdateInterval() && timeout != 0)
- emit updateTimeout();
- else {
- requestTimer->start(timeout * qreal(0.75));
- }
- }
-}
-
-void QGeoPositionInfoSourceSimulator::updatePosition()
-{
- if (qtPositionInfo()->enabled) {
- lastPosition = Simulator::toPositionInfo(*qtPositionInfo());
- emit positionUpdated(lastPosition);
- } else {
- emit updateTimeout();
- }
-}
-
-QGeoPositionInfoSource::Error QGeoPositionInfoSourceSimulator::error() const
-{
- return m_positionError;
-}
-
-
-void QGeoPositionInfoSourceSimulator::setError(QGeoPositionInfoSource::Error positionError)
-{
- m_positionError = positionError;
- emit QGeoPositionInfoSource::error(positionError);
-}
-
-#include "moc_qgeopositioninfosource_simulator_p.cpp"
-
-QT_END_NAMESPACE