diff options
author | Alex Wilson <alex.wilson@nokia.com> | 2012-02-28 13:05:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-05 04:22:24 +0100 |
commit | 0287bfee05840511c12100f06f9142e3e2b8f7d5 (patch) | |
tree | f5386e27a4b012877d37ab0b99dfc1d5a08705c5 /tests/auto/qgeocodingmanagerplugins | |
parent | c1d56bdae90f79d466769aa7a357d78a4f2ca6c7 (diff) | |
download | qtlocation-0287bfee05840511c12100f06f9142e3e2b8f7d5.tar.gz |
New plugin API changes, centralized geoservice feature detection
This change adapts geoservice plugins to use the new Qt5 plugin API,
performing boolean feature detection all through the JSON blobs
rather than methods on factories or managers.
As a result of this centralisation, it was also necessary to rework
the QML API for the Plugin element a little. Some additional changes
were made to the declarative places plugin to prevent it crashing
due to plugins becoming available later than they did previously.
Task-number: QTBUG-24331
Change-Id: I26149987344b67091480449103ab1712c869b2a5
Reviewed-by: Aaron McCarthy <aaron.mccarthy@nokia.com>
Diffstat (limited to 'tests/auto/qgeocodingmanagerplugins')
5 files changed, 17 insertions, 24 deletions
diff --git a/tests/auto/qgeocodingmanagerplugins/geocoding_plugin.json b/tests/auto/qgeocodingmanagerplugins/geocoding_plugin.json new file mode 100644 index 00000000..9ac93536 --- /dev/null +++ b/tests/auto/qgeocodingmanagerplugins/geocoding_plugin.json @@ -0,0 +1,10 @@ +{ + "Keys": ["geocode.test.plugin"], + "Provider": "geocode.test.plugin", + "Version": 100, + "Experimental": true, + "Features": [ + "OfflineGeocodingFeature", + "ReverseGeocodingFeature" + ] +} diff --git a/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerengine_test.h b/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerengine_test.h index 4c1a2e66..c502010f 100644 --- a/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerengine_test.h +++ b/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerengine_test.h @@ -80,8 +80,6 @@ public: { Q_UNUSED(error) Q_UNUSED(errorString) - setSupportsGeocoding(true); - setSupportsReverseGeocoding(true); setLocale(QLocale(QLocale::German, QLocale::Germany)); } diff --git a/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerplugins.pro b/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerplugins.pro index 3c41a645..936eb2f2 100644 --- a/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerplugins.pro +++ b/tests/auto/qgeocodingmanagerplugins/qgeocodingmanagerplugins.pro @@ -12,3 +12,6 @@ SOURCES += qgeoserviceproviderplugin_test.cpp target.path += $$[QT_INSTALL_PLUGINS]/geoservices INSTALLS += target + +OTHER_FILES += \ + geocoding_plugin.json diff --git a/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.cpp b/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.cpp index 8c787804..32c27ce4 100644 --- a/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.cpp +++ b/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.cpp @@ -52,25 +52,8 @@ QGeoServiceProviderFactoryTest::~QGeoServiceProviderFactoryTest() { } -QString QGeoServiceProviderFactoryTest::providerName() const -{ - return "static.geocode.test.plugin"; -} - -QStringList QGeoServiceProviderFactoryTest::keys() const -{ - return QStringList() << QLatin1String("static.geocode.test.plugin"); -} - -int QGeoServiceProviderFactoryTest::providerVersion() const -{ - return 3; -} - QGeocodingManagerEngine* QGeoServiceProviderFactoryTest::createGeocodingManagerEngine(const QMap< QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) const { return new QGeocodingManagerEngineTest(parameters, error, errorString); } - -Q_EXPORT_PLUGIN2(qtgeoservices_staticgeocodingplugin, QGeoServiceProviderFactoryTest) diff --git a/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.h b/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.h index 713af50c..8c8d6b23 100644 --- a/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.h +++ b/tests/auto/qgeocodingmanagerplugins/qgeoserviceproviderplugin_test.h @@ -50,15 +50,14 @@ QT_USE_NAMESPACE class QGeoServiceProviderFactoryTest: public QObject, public QGeoServiceProviderFactory { Q_OBJECT - Q_INTERFACES(QGeoServiceProviderFactory:QFactoryInterface) + Q_INTERFACES(QGeoServiceProviderFactory) + Q_PLUGIN_METADATA(IID "org.qt-project.qt.geoservice.serviceproviderfactory/5.0" + FILE "geocoding_plugin.json") + public: QGeoServiceProviderFactoryTest(); ~QGeoServiceProviderFactoryTest(); - QString providerName() const; - int providerVersion() const; - QStringList keys() const; - QGeocodingManagerEngine* createGeocodingManagerEngine(const QMap<QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) const; }; |