diff options
author | Aaron McCarthy <aaron.mccarthy@jollamobile.com> | 2013-08-20 11:47:52 +1000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-29 04:18:51 +0200 |
commit | e09d297894a8b4ff9b06317169b5a9eb97aa7162 (patch) | |
tree | 0f107ff563d31a53ab4feba122367054f4998a7e /config.tests | |
parent | f39c751953326ef66ce57ff6fe1a1c82d273d889 (diff) | |
download | qtlocation-e09d297894a8b4ff9b06317169b5a9eb97aa7162.tar.gz |
Add support for Geoclue Satellite interface.
The Tizen project introduced an interface for getting the Satellite
info directly from a positioning provider. If Geoclue supports this
interface make use of it in the geoclue position plugin.
The plugin no longer checks the gconf setting
/apps/geoclue/master/org.freedesktop.Geoclue.GPSDevice for a valid GPS
device. This setting is used by Gypsy (and other providers) but may not
necessarily be used by all providers that provide GPS quality data.
Instead rely on the Geoclue master provider to determine if GPS is
available. Because of this change the gconf dependency has been dropped.
The plugin no longer uses the Geoclue master provider as a proxy for
position data. Instead it queries the master provider for the DBus
service and path of the actual provider and connects directly to that
provider. This has to be done anyway to get velocity and satellite
data.
The plugin no longer assumes that the real positioning provider is
Gypsy. This assumption was hard coded as it was always connecting
directly to Gypsy to get the velocity data irrespective of what
positioning provider was actually being used. Geoclue master does not
proxy the Velocity interface. Instead it queries the master provider
for the DBus service and path of the actual provider and connects
directly to that provider. If the velocity interface is available it
will now be from the same provider as the position.
Change-Id: I8a6116e4061e50cc28d1efd71df0f7a348a0f143
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Diffstat (limited to 'config.tests')
-rw-r--r-- | config.tests/geoclue-satellite/geoclue-satellite.pro | 6 | ||||
-rw-r--r-- | config.tests/geoclue-satellite/main.cpp | 49 | ||||
-rw-r--r-- | config.tests/geoclue/geoclue.pro | 2 | ||||
-rw-r--r-- | config.tests/geoclue/main.cpp | 10 |
4 files changed, 63 insertions, 4 deletions
diff --git a/config.tests/geoclue-satellite/geoclue-satellite.pro b/config.tests/geoclue-satellite/geoclue-satellite.pro new file mode 100644 index 00000000..1ebc2e84 --- /dev/null +++ b/config.tests/geoclue-satellite/geoclue-satellite.pro @@ -0,0 +1,6 @@ +TEMPLATE = app +unix { + CONFIG += link_pkgconfig + PKGCONFIG += geoclue +} +SOURCES += main.cpp diff --git a/config.tests/geoclue-satellite/main.cpp b/config.tests/geoclue-satellite/main.cpp new file mode 100644 index 00000000..c642e106 --- /dev/null +++ b/config.tests/geoclue-satellite/main.cpp @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Jolla Ltd, author: Aaron McCarthy <aaron.mccarthy@jollamobile.com> +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtLocation module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <geoclue/geoclue-satellite.h> + +int main() +{ + GeoclueSatellite satellite; + + return 0; +} diff --git a/config.tests/geoclue/geoclue.pro b/config.tests/geoclue/geoclue.pro index 4d05166c..1ebc2e84 100644 --- a/config.tests/geoclue/geoclue.pro +++ b/config.tests/geoclue/geoclue.pro @@ -1,6 +1,6 @@ TEMPLATE = app unix { CONFIG += link_pkgconfig - PKGCONFIG += geoclue gconf-2.0 + PKGCONFIG += geoclue } SOURCES += main.cpp diff --git a/config.tests/geoclue/main.cpp b/config.tests/geoclue/main.cpp index 3a868d70..c286775c 100644 --- a/config.tests/geoclue/main.cpp +++ b/config.tests/geoclue/main.cpp @@ -1,5 +1,7 @@ /**************************************************************************** ** +** Copyright (C) 2013 Jolla Ltd. +** Contact: Aaron McCarthy <aaron.mccarthy@jollamobile.com> ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** @@ -40,13 +42,15 @@ ****************************************************************************/ #include <geoclue/geoclue-position.h> -#include <gconf/gconf-client.h> +#include <geoclue/geoclue-velocity.h> int main() { GType type = geoclue_position_get_type(); - GConfClient *client = gconf_client_get_default(); - g_object_unref(client); + GeocluePosition position; + + type = geoclue_velocity_get_type(); + GeoclueVelocity velocity; return 0; } |