• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • plugins
  • positionprovider
  • geoclue
GeoCluePositionProviderPlugin.cpp
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2009 Eckhart Wörner <ewoerner@kde.org>
9 //
10 
11 #include "GeoCluePositionProviderPlugin.h"
12 
13 #include "GeoCute/PositionProvider.h"
14 
15 
16 
17 using namespace Marble;
18 
19 QString GeoCluePositionProviderPlugin::name() const
20 {
21  return tr( "GeoClue position provider Plugin" );
22 }
23 
24 QString GeoCluePositionProviderPlugin::nameId() const
25 {
26  return QString::fromLatin1( "GeoClue" );
27 }
28 
29 QString GeoCluePositionProviderPlugin::guiString() const
30 {
31  return tr( "GeoClue" );
32 }
33 
34 QString GeoCluePositionProviderPlugin::description() const
35 {
36  return tr( "Reports the position via the GeoClue Location Framework." );
37 }
38 
39 QIcon GeoCluePositionProviderPlugin::icon() const
40 {
41  return QIcon();
42 }
43 
44 void GeoCluePositionProviderPlugin::initialize()
45 {
46  m_positionProvider = GeoCute::PositionProvider::detailed();
47  if (m_positionProvider) {
48  connect( m_positionProvider, SIGNAL(positionChanged(GeoCute::Position)),
49  SLOT(updatePosition(GeoCute::Position)) );
50  connect( m_positionProvider, SIGNAL(statusChanged(GeoCute::Status)),
51  SLOT(updateStatus(GeoCute::Status)) );
52  }
53 }
54 
55 bool GeoCluePositionProviderPlugin::isInitialized() const
56 {
57  return m_positionProvider;
58 }
59 
60 PositionProviderPlugin* GeoCluePositionProviderPlugin::newInstance() const
61 {
62  return new GeoCluePositionProviderPlugin;
63 }
64 
65 PositionProviderStatus GeoCluePositionProviderPlugin::status() const
66 {
67  return m_status;
68 }
69 
70 GeoDataCoordinates GeoCluePositionProviderPlugin::position() const
71 {
72  return m_position;
73 }
74 
75 GeoDataAccuracy GeoCluePositionProviderPlugin::accuracy() const
76 {
77  return m_accuracy;
78 }
79 
80 GeoCluePositionProviderPlugin::GeoCluePositionProviderPlugin() : m_positionProvider(0)
81 {
82 }
83 
84 GeoCluePositionProviderPlugin::~GeoCluePositionProviderPlugin()
85 {
86  delete m_positionProvider;
87 }
88 
89 void GeoCluePositionProviderPlugin::updatePosition(GeoCute::Position newPosition)
90 {
91  m_position = GeoDataCoordinates(newPosition.longitude, newPosition.latitude,
92  newPosition.altitude, GeoDataCoordinates::Degree);
93  m_accuracy.level = static_cast<GeoDataAccuracy::Level>(newPosition.accuracy.level);
94  m_accuracy.horizontal = newPosition.accuracy.horizontal;
95  m_accuracy.vertical = newPosition.accuracy.vertical;
96 
97  emit positionChanged(m_position, m_accuracy);
98 }
99 
100 void GeoCluePositionProviderPlugin::updateStatus(GeoCute::Status newStatus)
101 {
102  m_status = static_cast<PositionProviderStatus>(newStatus);
103 
104  emit statusChanged(m_status);
105 }
106 
107 Q_EXPORT_PLUGIN2( GeoCluePositionProviderPlugin, Marble::GeoCluePositionProviderPlugin )
108 
109 
110 
111 #include "GeoCluePositionProviderPlugin.moc"
Marble::GeoCluePositionProviderPlugin::accuracy
virtual GeoDataAccuracy accuracy() const
Definition: GeoCluePositionProviderPlugin.cpp:75
Marble::GeoDataCoordinates
A 3d point representation.
Definition: GeoDataCoordinates.h:52
GeoCute::Position
Definition: Position.h:34
GeoCute::Accuracy::level
AccuracyLevel level
Approximate descriptive accuracy.
Definition: Accuracy.h:32
Marble::GeoCluePositionProviderPlugin::nameId
virtual QString nameId() const
Returns the unique name of the plugin.
Definition: GeoCluePositionProviderPlugin.cpp:24
Marble::GeoCluePositionProviderPlugin::~GeoCluePositionProviderPlugin
virtual ~GeoCluePositionProviderPlugin()
Definition: GeoCluePositionProviderPlugin.cpp:84
Marble::GeoCluePositionProviderPlugin::icon
virtual QIcon icon() const
Returns an icon for the plugin.
Definition: GeoCluePositionProviderPlugin.cpp:39
Marble::PositionProviderPlugin::statusChanged
void statusChanged(PositionProviderStatus status) const
Marble::GeoCluePositionProviderPlugin::GeoCluePositionProviderPlugin
GeoCluePositionProviderPlugin()
Definition: GeoCluePositionProviderPlugin.cpp:80
QObject::tr
QString tr(const char *sourceText, const char *disambiguation, int n)
Marble::GeoDataCoordinates::Degree
Definition: GeoDataCoordinates.h:66
Marble::PositionProviderPlugin
The abstract class that provides position information.
Definition: PositionProviderPlugin.h:26
Marble::GeoDataAccuracy::vertical
qreal vertical
Vertical accuracy in meters.
Definition: GeoDataAccuracy.h:54
GeoCute::Status
Status
Definition: Status.h:19
Marble::GeoCluePositionProviderPlugin::position
virtual GeoDataCoordinates position() const
Definition: GeoCluePositionProviderPlugin.cpp:70
GeoCute::Position::accuracy
Accuracy accuracy
Definition: Position.h:36
GeoCute::Position::longitude
qreal longitude
Definition: Position.h:40
Marble::GeoCluePositionProviderPlugin::name
virtual QString name() const
Returns the user-visible name of the plugin.
Definition: GeoCluePositionProviderPlugin.cpp:19
Marble::PositionProviderPlugin::positionChanged
void positionChanged(GeoDataCoordinates position, GeoDataAccuracy accuracy) const
Marble::GeoDataAccuracy::horizontal
qreal horizontal
Horizontal accuracy in meters.
Definition: GeoDataAccuracy.h:49
Marble::GeoDataAccuracy::Level
Level
Definition: GeoDataAccuracy.h:25
QString
Marble::GeoCluePositionProviderPlugin::description
virtual QString description() const
Returns a user description of the plugin.
Definition: GeoCluePositionProviderPlugin.cpp:34
GeoCute::Accuracy::horizontal
qreal horizontal
Horizontal accuracy in meters.
Definition: Accuracy.h:36
Marble::PositionProviderStatus
PositionProviderStatus
Definition: PositionProviderPluginInterface.h:25
GeoCute::PositionProvider::detailed
static PositionProvider * detailed()
Definition: PositionProvider.cpp:64
Q_EXPORT_PLUGIN2
#define Q_EXPORT_PLUGIN2(a, b)
Definition: marble_export.h:34
GeoCute::Position::latitude
qreal latitude
Definition: Position.h:39
Marble::GeoCluePositionProviderPlugin::status
virtual PositionProviderStatus status() const
Definition: GeoCluePositionProviderPlugin.cpp:65
GeoCute::Accuracy::vertical
qreal vertical
Vertical accuracy in meters.
Definition: Accuracy.h:40
GeoCute::Position::altitude
qreal altitude
Definition: Position.h:37
Marble::GeoDataAccuracy::level
Level level
Approximate descriptive accuracy.
Definition: GeoDataAccuracy.h:44
QString::fromLatin1
QString fromLatin1(const char *str, int size)
Marble::GeoCluePositionProviderPlugin::guiString
virtual QString guiString() const
Returns the string that should appear in the user interface.
Definition: GeoCluePositionProviderPlugin.cpp:29
Marble::GeoCluePositionProviderPlugin
Definition: GeoCluePositionProviderPlugin.h:29
Marble::GeoCluePositionProviderPlugin::isInitialized
virtual bool isInitialized() const
Definition: GeoCluePositionProviderPlugin.cpp:55
PositionProvider.h
Marble::GeoDataAccuracy
Definition: GeoDataAccuracy.h:22
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
GeoCluePositionProviderPlugin.h
Marble::GeoCluePositionProviderPlugin::newInstance
virtual PositionProviderPlugin * newInstance() const
Create a new PositionProvider Plugin and return it.
Definition: GeoCluePositionProviderPlugin.cpp:60
Marble::GeoCluePositionProviderPlugin::initialize
virtual void initialize()
Definition: GeoCluePositionProviderPlugin.cpp:44
QIcon
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:39 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal