diff options
21 files changed, 240 insertions, 10 deletions
diff --git a/examples/logfilepositionsource/logfilepositionsource.cpp b/examples/logfilepositionsource/logfilepositionsource.cpp index 0dae43f2..ab8a1ac5 100644 --- a/examples/logfilepositionsource/logfilepositionsource.cpp +++ b/examples/logfilepositionsource/logfilepositionsource.cpp @@ -116,3 +116,8 @@ void LogFilePositionSource::readNextPosition() } } } + +QGeoPositionInfoSource::Error LogFilePositionSource::error() const +{ + return QGeoPositionInfoSource::UnknownSourceError; +} diff --git a/examples/logfilepositionsource/logfilepositionsource.h b/examples/logfilepositionsource/logfilepositionsource.h index b01e88e5..9bb83576 100644 --- a/examples/logfilepositionsource/logfilepositionsource.h +++ b/examples/logfilepositionsource/logfilepositionsource.h @@ -57,6 +57,7 @@ public: PositioningMethods supportedPositioningMethods() const; int minimumUpdateInterval() const; + Error error() const; public slots: virtual void startUpdates(); diff --git a/src/imports/location/qdeclarativepositionsource.cpp b/src/imports/location/qdeclarativepositionsource.cpp index cc44a0fd..5219068b 100644 --- a/src/imports/location/qdeclarativepositionsource.cpp +++ b/src/imports/location/qdeclarativepositionsource.cpp @@ -112,12 +112,15 @@ QT_BEGIN_NAMESPACE QDeclarativePositionSource::QDeclarativePositionSource() : m_positionSource(0), m_positioningMethod(QDeclarativePositionSource::NoPositioningMethod), - m_nmeaFile(0), m_active(false), m_singleUpdate(false), m_updateInterval(0) + m_nmeaFile(0), m_active(false), m_singleUpdate(false), m_updateInterval(0), + m_sourceError(UnknownSourceError) { m_positionSource = QGeoPositionInfoSource::createDefaultSource(this); if (m_positionSource) { connect(m_positionSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(positionUpdateReceived(QGeoPositionInfo))); + connect(m_positionSource, SIGNAL(error(QGeoPositionInfoSource::Error)), + this, SLOT(sourceErrorReceived(QGeoPositionInfoSource::Error))); m_positioningMethod = supportedPositioningMethods(); #if defined(Q_OS_SYMBIAN) } else { @@ -470,6 +473,39 @@ void QDeclarativePositionSource::positionUpdateReceived(const QGeoPositionInfo& } } +QDeclarativePositionSource::SourceError QDeclarativePositionSource::sourceError() const +{ + return m_sourceError; +} + +/*! + \qmlproperty enumeration PositionSource::sourceError + + This property holds the error which last occured with the PositionSource. + + \list + \o AccessError - The connection setup to the remote positioning backend failed because the + application lacked the required privileges. + \o ClosedError - The remote positioning backend closed the connection, which happens e.g. in case + the user is switching location services to off. This object becomes invalid and should be deleted. + A new source can be declared later on to check whether the positioning backend is up again. + \o UnknownSourceError - An unidentified error occurred. + \endlist + +*/ + +void QDeclarativePositionSource::sourceErrorReceived(const QGeoPositionInfoSource::Error error) +{ + if (error == QGeoPositionInfoSource::AccessError) { + m_sourceError = QDeclarativePositionSource::AccessError; + } else if (error == QGeoPositionInfoSource::ClosedError) { + m_sourceError = QDeclarativePositionSource::ClosedError; + } else { + m_sourceError = QDeclarativePositionSource::UnknownSourceError; + } + emit sourceErrorChanged(); +} + #include "moc_qdeclarativepositionsource_p.cpp" QT_END_NAMESPACE diff --git a/src/imports/location/qdeclarativepositionsource_p.h b/src/imports/location/qdeclarativepositionsource_p.h index 949830cd..02a8fdcd 100644 --- a/src/imports/location/qdeclarativepositionsource_p.h +++ b/src/imports/location/qdeclarativepositionsource_p.h @@ -63,6 +63,7 @@ class QDeclarativePositionSource : public QObject Q_PROPERTY(int updateInterval READ updateInterval WRITE setUpdateInterval NOTIFY updateIntervalChanged) Q_PROPERTY(PositioningMethods supportedPositioningMethods READ supportedPositioningMethods NOTIFY supportedPositioningMethodsChanged) Q_PROPERTY(PositioningMethods preferredPositioningMethods READ preferredPositioningMethods WRITE setPreferredPositioningMethods NOTIFY preferredPositioningMethodsChanged) + Q_PROPERTY(SourceError sourceError READ sourceError NOTIFY sourceErrorChanged) Q_ENUMS(PositioningMethod) public: @@ -76,6 +77,14 @@ public: Q_DECLARE_FLAGS(PositioningMethods, PositioningMethod) Q_FLAGS(PositioningMethods) + enum SourceError { + AccessError = QGeoPositionInfoSource::AccessError, + ClosedError = QGeoPositionInfoSource::ClosedError, + UnknownSourceError = QGeoPositionInfoSource::UnknownSourceError + }; + Q_ENUMS(SourceError) + + QDeclarativePositionSource(); ~QDeclarativePositionSource(); void setNmeaSource(const QUrl& nmeaSource); @@ -89,7 +98,7 @@ public: QDeclarativePosition* position(); PositioningMethods supportedPositioningMethods() const; PositioningMethods preferredPositioningMethods() const; - + SourceError sourceError() const; public Q_SLOTS: void update(); @@ -103,11 +112,12 @@ Q_SIGNALS: void updateIntervalChanged(); void supportedPositioningMethodsChanged(); void preferredPositioningMethodsChanged(); + void sourceErrorChanged(); private Q_SLOTS: void positionUpdateReceived(const QGeoPositionInfo& update); - + void sourceErrorReceived(const QGeoPositionInfoSource::Error error); private: QGeoPositionInfoSource* m_positionSource; PositioningMethods m_positioningMethod; @@ -118,6 +128,7 @@ private: bool m_active; bool m_singleUpdate; int m_updateInterval; + SourceError m_sourceError; }; QT_END_NAMESPACE diff --git a/src/location/qgeopositioninfosource.cpp b/src/location/qgeopositioninfosource.cpp index 78d38832..61bdda15 100644 --- a/src/location/qgeopositioninfosource.cpp +++ b/src/location/qgeopositioninfosource.cpp @@ -360,10 +360,9 @@ QGeoPositionInfoSource::PositioningMethods QGeoPositionInfoSource::preferredPosi reads from the system's default sources of location data, or the plugin with the highest available priority. - Returns 0 if the system has no default position source and no valid plugins - could be found. + Returns 0 if the system has no default position source, no valid plugins + could be found or the user does not have the permission to access the current position. */ - QGeoPositionInfoSource *QGeoPositionInfoSource::createDefaultSource(QObject *parent) { QSettings pluginSettings(QSettings::SystemScope, QLatin1String("Nokia"), QLatin1String("QtLocationPosAndSat")); @@ -525,6 +524,13 @@ QStringList QGeoPositionInfoSource::availableSources() */ /*! + \fn virtual QGeoPositionInfoSource::Error QGeoPositionInfoSource::error() const; + + Returns the type of error that last occurred. + +*/ + +/*! \fn void QGeoPositionInfoSource::positionUpdated(const QGeoPositionInfo &update); If startUpdates() or requestUpdate() is called, this signal is emitted @@ -544,6 +550,27 @@ QStringList QGeoPositionInfoSource::availableSources() will not be emitted again until after the regular updates resume. */ +/*! + \fn void QGeoPositionInfoSource::error(QGeoPositionInfoSource::Error positioningError) + + This signal is emitted after an error occurred. The \a positioningError + parameter describes the type of error that occurred. + +*/ + +/*! + \enum QGeoPositionInfoSource::Error + + The Error enumeration represents the errors which can occur. + + \value AccessError The connection setup to the remote positioning backend failed because the + application lacked the required privileges. + \value ClosedError The remote positioning backend closed the connection, which happens e.g. in case + the user is switching location services to off. This object becomes invalid and should be deleted. + A call to createDefaultSource() can be used to create a new source later on. + \value UnknownSourceError An unidentified error occurred. + */ + #include "moc_qgeopositioninfosource.cpp" QT_END_NAMESPACE diff --git a/src/location/qgeopositioninfosource.h b/src/location/qgeopositioninfosource.h index 561f7a86..986db830 100644 --- a/src/location/qgeopositioninfosource.h +++ b/src/location/qgeopositioninfosource.h @@ -59,6 +59,13 @@ class Q_LOCATION_EXPORT QGeoPositionInfoSource : public QObject Q_PROPERTY(int minimumUpdateInterval READ minimumUpdateInterval) public: + enum Error { + AccessError, + ClosedError, /* 1 */ + UnknownSourceError = -1 + }; + Q_ENUMS(Error) + enum PositioningMethod { SatellitePositioningMethods = 0x000000ff, NonSatellitePositioningMethods = 0xffffff00, @@ -83,6 +90,7 @@ public: 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; @@ -93,6 +101,7 @@ public Q_SLOTS: Q_SIGNALS: void positionUpdated(const QGeoPositionInfo &update); void updateTimeout(); + void error(QGeoPositionInfoSource::Error); private: Q_DISABLE_COPY(QGeoPositionInfoSource) diff --git a/src/location/qgeopositioninfosource_npe_backend.cpp b/src/location/qgeopositioninfosource_npe_backend.cpp index c3a5e72f..278ace1e 100644 --- a/src/location/qgeopositioninfosource_npe_backend.cpp +++ b/src/location/qgeopositioninfosource_npe_backend.cpp @@ -78,7 +78,7 @@ const QString kvalid = QLatin1String("valid"); const char* klocationdSocketName = "/var/run/locationd/locationd.socket"; QGeoPositionInfoSourceNpeBackend::QGeoPositionInfoSourceNpeBackend(QObject *parent): - QGeoPositionInfoSource(parent), locationOngoing(false), timeoutSent(false) + QGeoPositionInfoSource(parent), locationOngoing(false), timeoutSent(false), mPositionError(QGeoPositionInfoSource::UnknownSourceError) { requestTimer = new QTimer(this); QObject::connect(requestTimer, SIGNAL(timeout()), this, SLOT(requestTimerExpired())); @@ -94,6 +94,7 @@ bool QGeoPositionInfoSourceNpeBackend::init() if (mSocket) { connect(mSocket, SIGNAL(connected()), this, SLOT(onSocketConnected())); connect(mSocket, SIGNAL(disconnected()), this, SLOT(onSocketDisconnected())); + connect(mSocket, SIGNAL(error(QLocalSocket::LocalSocketError)), this, SLOT(onSocketError(QLocalSocket::LocalSocketError))); mStream = new JsonStream(mSocket); if (mStream) { connect(mStream, SIGNAL(messageReceived(const QJsonObject&)), this, SLOT(onStreamReceived(const QJsonObject&)), Qt::QueuedConnection); @@ -349,6 +350,34 @@ void QGeoPositionInfoSourceNpeBackend::onStreamReceived(const QJsonObject& jsonO } +QGeoPositionInfoSource::Error QGeoPositionInfoSourceNpeBackend::error() const +{ + return mPositionError; +} + + +void QGeoPositionInfoSourceNpeBackend::setError(QGeoPositionInfoSource::Error positionError) +{ + mPositionError = positionError; + emit QGeoPositionInfoSource::error(positionError); +} + + +void QGeoPositionInfoSourceNpeBackend::onSocketError(QLocalSocket::LocalSocketError mError) +{ + switch (mError) { + case QLocalSocket::PeerClosedError: + setError(ClosedError); + break; + case QLocalSocket::SocketAccessError: + setError(AccessError); + break; + default: + setError(UnknownSourceError); + } +} + + void QGeoPositionInfoSourceNpeBackend::onSocketConnected() { } diff --git a/src/location/qgeopositioninfosource_npe_backend_p.h b/src/location/qgeopositioninfosource_npe_backend_p.h index 64146016..5b72fedb 100644 --- a/src/location/qgeopositioninfosource_npe_backend_p.h +++ b/src/location/qgeopositioninfosource_npe_backend_p.h @@ -78,6 +78,7 @@ public: QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const; PositioningMethods supportedPositioningMethods() const; int minimumUpdateInterval() const; + Error error() const; public Q_SLOTS: void startUpdates(); @@ -93,6 +94,8 @@ private: bool locationOngoing; bool timeoutSent; QTimer* requestTimer; + QGeoPositionInfoSource::Error mPositionError; + void setError(QGeoPositionInfoSource::Error positionError); void shutdownRequestSession(); Q_SIGNALS: @@ -104,6 +107,7 @@ private Q_SLOTS: void onStreamReceived(const QJsonObject &jsonObject); void onSocketConnected(); void onSocketDisconnected(); + void onSocketError(QLocalSocket::LocalSocketError); void requestTimerExpired(); }; diff --git a/src/location/qgeopositioninfosource_simulator.cpp b/src/location/qgeopositioninfosource_simulator.cpp index 2f3d450f..f1b213d0 100644 --- a/src/location/qgeopositioninfosource_simulator.cpp +++ b/src/location/qgeopositioninfosource_simulator.cpp @@ -78,6 +78,7 @@ QGeoPositionInfoSourceSimulator::QGeoPositionInfoSourceSimulator(QObject *parent : QGeoPositionInfoSource(parent) , timer(new QTimer(this)) , requestTimer(new QTimer(this)) + , m_positionError(QGeoPositionInfoSource::UnknownSourceError) { Simulator::LocationConnection::ensureSimulatorConnection(); @@ -156,6 +157,18 @@ void QGeoPositionInfoSourceSimulator::updatePosition() } } +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 diff --git a/src/location/qgeopositioninfosource_simulator_p.h b/src/location/qgeopositioninfosource_simulator_p.h index f019ad32..f696ac8a 100644 --- a/src/location/qgeopositioninfosource_simulator_p.h +++ b/src/location/qgeopositioninfosource_simulator_p.h @@ -63,6 +63,7 @@ public: void setUpdateInterval(int msec); int minimumUpdateInterval() const; + Error error() const; public Q_SLOTS: void startUpdates(); @@ -77,6 +78,8 @@ private: QTimer *timer; QTimer *requestTimer; QGeoPositionInfo lastPosition; + QGeoPositionInfoSource::Error m_positionError; + void setError(QGeoPositionInfoSource::Error positionError); }; QT_END_NAMESPACE diff --git a/src/location/qgeosatelliteinfosource.cpp b/src/location/qgeosatelliteinfosource.cpp index ecdd353a..739ff1af 100644 --- a/src/location/qgeosatelliteinfosource.cpp +++ b/src/location/qgeosatelliteinfosource.cpp @@ -318,8 +318,8 @@ int QGeoSatelliteInfoSource::updateInterval() const 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. + Returns 0 if the system has no default position source, no valid plugins + could be found or the user does not have the permission to access the satellite data. */ QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(QObject *parent) { @@ -481,6 +481,28 @@ QStringList QGeoSatelliteInfoSource::availableSources() information could not be retrieved within the specified timeout. */ +/*! + \fn void QGeoSatelliteInfoSource::error(QGeoSatelliteInfoSource::Error satelliteError) + + This signal is emitted after an error occurred. The \a satelliteError + parameter describes the type of error that occurred. + +*/ + +/*! + \enum QGeoSatelliteInfoSource::Error + + The Error enumeration represents the errors which can occur. + + \value AccessError The connection setup to the remote positioning backend failed because the + application lacked the required privileges. + \value ClosedError The remote satellite backend closed the connection, which happens e.g. in case + the user is switching location services to off. This object becomes invalid and should be deleted. + A new satellite source can be created by calling createDefaultSource() later on. + \value UnknownSourceError An unidentified error occurred. + */ + + #include "moc_qgeosatelliteinfosource.cpp" QT_END_NAMESPACE diff --git a/src/location/qgeosatelliteinfosource.h b/src/location/qgeosatelliteinfosource.h index 79bf67f5..e4f4c3a5 100644 --- a/src/location/qgeosatelliteinfosource.h +++ b/src/location/qgeosatelliteinfosource.h @@ -59,6 +59,13 @@ class Q_LOCATION_EXPORT QGeoSatelliteInfoSource : public QObject Q_PROPERTY(int minimumUpdateInterval READ minimumUpdateInterval) public: + enum Error { + AccessError, + ClosedError, /* 1 */ + UnknownSourceError = -1 + }; + Q_ENUMS(Error) + explicit QGeoSatelliteInfoSource(QObject *parent); virtual ~QGeoSatelliteInfoSource(); @@ -69,6 +76,7 @@ public: 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; @@ -80,6 +88,7 @@ Q_SIGNALS: void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites); void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites); void requestTimeout(); + void error(QGeoSatelliteInfoSource::Error); private: Q_DISABLE_COPY(QGeoSatelliteInfoSource) diff --git a/src/location/qgeosatelliteinfosource_npe_backend.cpp b/src/location/qgeosatelliteinfosource_npe_backend.cpp index ac99ffa0..dfac72c6 100644 --- a/src/location/qgeosatelliteinfosource_npe_backend.cpp +++ b/src/location/qgeosatelliteinfosource_npe_backend.cpp @@ -74,7 +74,7 @@ const QString kinterval = QLatin1String("interval"); QGeoSatelliteInfoSourceNpeBackend::QGeoSatelliteInfoSourceNpeBackend(QObject *parent): QGeoSatelliteInfoSource(parent), - satOngoing(false) + satOngoing(false), mSatelliteError(QGeoSatelliteInfoSource::UnknownSourceError) { requestTimer = new QTimer(this); QObject::connect(requestTimer, SIGNAL(timeout()), this, SLOT(requestTimerExpired())); @@ -90,6 +90,7 @@ bool QGeoSatelliteInfoSourceNpeBackend::init() if (mSocket) { connect(mSocket, SIGNAL(connected()), this, SLOT(onSocketConnected())); connect(mSocket, SIGNAL(disconnected()), this, SLOT(onSocketDisconnected())); + connect(mSocket, SIGNAL(error(QLocalSocket::LocalSocketError)), this, SLOT(onSocketError(QLocalSocket::LocalSocketError))); mStream = new JsonStream(mSocket); if (mStream) { connect(mStream, SIGNAL(messageReceived(const QJsonObject&)), this, SLOT(onStreamReceived(const QJsonObject&)), Qt::QueuedConnection); @@ -266,6 +267,34 @@ void QGeoSatelliteInfoSourceNpeBackend::onStreamReceived(const QJsonObject& json } +QGeoSatelliteInfoSource::Error QGeoSatelliteInfoSourceNpeBackend::error() const +{ + return mSatelliteError; +} + + +void QGeoSatelliteInfoSourceNpeBackend::setError(QGeoSatelliteInfoSource::Error satelliteError) +{ + mSatelliteError = satelliteError; + emit QGeoSatelliteInfoSource::error(satelliteError); +} + + +void QGeoSatelliteInfoSourceNpeBackend::onSocketError(QLocalSocket::LocalSocketError mError) +{ + switch (mError) { + case QLocalSocket::PeerClosedError: + setError(ClosedError); + break; + case QLocalSocket::SocketAccessError: + setError(AccessError); + break; + default: + setError(UnknownSourceError); + } +} + + void QGeoSatelliteInfoSourceNpeBackend::onSocketConnected() { } diff --git a/src/location/qgeosatelliteinfosource_npe_backend_p.h b/src/location/qgeosatelliteinfosource_npe_backend_p.h index a1d6aafe..a5e9b4c5 100644 --- a/src/location/qgeosatelliteinfosource_npe_backend_p.h +++ b/src/location/qgeosatelliteinfosource_npe_backend_p.h @@ -76,6 +76,7 @@ public: bool init(); void setUpdateInterval(int interval); int minimumUpdateInterval() const; + Error error() const; public Q_SLOTS: void startUpdates(); @@ -92,6 +93,7 @@ private Q_SLOTS: void onSocketDisconnected(); void requestTimerExpired(); void shutdownRequestSession(); + void onSocketError(QLocalSocket::LocalSocketError); private: QLocalSocket* mSocket; @@ -99,6 +101,8 @@ private: bool satOngoing; QTimer* requestTimer; int minInterval; + QGeoSatelliteInfoSource::Error mSatelliteError; + void setError(QGeoSatelliteInfoSource::Error satelliteError); }; #endif // QGEOSATELLITEINFOSOURCE_NPE_BACKEND_H diff --git a/src/location/qgeosatelliteinfosource_simulator_p.h b/src/location/qgeosatelliteinfosource_simulator_p.h index 3022b5e0..0d76a375 100644 --- a/src/location/qgeosatelliteinfosource_simulator_p.h +++ b/src/location/qgeosatelliteinfosource_simulator_p.h @@ -63,6 +63,8 @@ public: virtual void setUpdateInterval(int msec); virtual int minimumUpdateInterval() const; + // Default implementation for error() + Error error() const { return QGeoSatelliteInfoSource::UnknownSourceError; } public slots: virtual void startUpdates(); virtual void stopUpdates(); diff --git a/src/location/qnmeapositioninfosource.cpp b/src/location/qnmeapositioninfosource.cpp index fb02c417..760a06d4 100644 --- a/src/location/qnmeapositioninfosource.cpp +++ b/src/location/qnmeapositioninfosource.cpp @@ -198,6 +198,7 @@ void QNmeaSimulatedReader::processNextSentence() QNmeaPositionInfoSourcePrivate::QNmeaPositionInfoSourcePrivate(QNmeaPositionInfoSource *parent) : QObject(parent), m_invokedStart(false), + m_positionError(QGeoPositionInfoSource::UnknownSourceError), m_source(parent), m_nmeaReader(0), m_updateTimer(0), @@ -604,6 +605,17 @@ int QNmeaPositionInfoSource::minimumUpdateInterval() const return 100; } +QGeoPositionInfoSource::Error QNmeaPositionInfoSource::error() const +{ + return d->m_positionError; +} + +void QNmeaPositionInfoSource::setError(QGeoPositionInfoSource::Error positionError) +{ + d->m_positionError = positionError; + emit QGeoPositionInfoSource::error(positionError); +} + #include "moc_qnmeapositioninfosource.cpp" #include "moc_qnmeapositioninfosource_p.cpp" diff --git a/src/location/qnmeapositioninfosource.h b/src/location/qnmeapositioninfosource.h index 0e711052..cd1ca227 100644 --- a/src/location/qnmeapositioninfosource.h +++ b/src/location/qnmeapositioninfosource.h @@ -74,6 +74,8 @@ public: QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const; PositioningMethods supportedPositioningMethods() const; int minimumUpdateInterval() const; + Error error() const; + public Q_SLOTS: void startUpdates(); @@ -90,6 +92,7 @@ private: Q_DISABLE_COPY(QNmeaPositionInfoSource) friend class QNmeaPositionInfoSourcePrivate; QNmeaPositionInfoSourcePrivate *d; + void setError(QGeoPositionInfoSource::Error positionError); }; QT_END_NAMESPACE diff --git a/src/location/qnmeapositioninfosource_p.h b/src/location/qnmeapositioninfosource_p.h index 1e6ed221..9094ce80 100644 --- a/src/location/qnmeapositioninfosource_p.h +++ b/src/location/qnmeapositioninfosource_p.h @@ -95,6 +95,7 @@ public: QPointer<QIODevice> m_device; QGeoPositionInfo m_lastUpdate; bool m_invokedStart; + QGeoPositionInfoSource::Error m_positionError; public Q_SLOTS: void readyRead(); diff --git a/tests/auto/positionplugin/plugin.cpp b/tests/auto/positionplugin/plugin.cpp index 5ff882f4..b2457acc 100644 --- a/tests/auto/positionplugin/plugin.cpp +++ b/tests/auto/positionplugin/plugin.cpp @@ -64,6 +64,7 @@ public: void setUpdateInterval(int msec); int minimumUpdateInterval() const; + Error error() const; private: QTimer *timer; @@ -92,6 +93,12 @@ DummySource::DummySource(QObject *parent) : this, SLOT(doTimeout())); } +QGeoPositionInfoSource::Error DummySource::error() const +{ + return QGeoPositionInfoSource::UnknownSourceError; +} + + void DummySource::setUpdateInterval(int msec) { if (msec == 0) { diff --git a/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp b/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp index 64dbd9be..62132b5d 100644 --- a/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp +++ b/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp @@ -102,6 +102,8 @@ public: virtual void requestUpdate(int) {} + Error error() const { return QGeoPositionInfoSource::UnknownSourceError; } + private: PositioningMethods m_methods; }; diff --git a/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp b/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp index 933205f5..90c15332 100644 --- a/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp +++ b/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp @@ -82,6 +82,7 @@ public: virtual int minimumUpdateInterval() const { return 0; } + Error error() const { return QGeoSatelliteInfoSource::UnknownSourceError; } }; |