File indexing completed on 2024-04-21 03:50:05
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2009 Eckhart Wörner <ewoerner@kde.org> 0004 // 0005 0006 #ifndef GEOCLUEPOSITIONPROVIDERPLUGIN_H 0007 #define GEOCLUEPOSITIONPROVIDERPLUGIN_H 0008 0009 #include "GeoCute/Position.h" 0010 #include "GeoCute/Status.h" 0011 0012 #include "PositionProviderPlugin.h" 0013 0014 0015 0016 namespace GeoCute 0017 { 0018 class PositionProvider; 0019 } 0020 0021 namespace Marble 0022 { 0023 0024 class GeoCluePositionProviderPlugin: public PositionProviderPlugin 0025 { 0026 Q_OBJECT 0027 Q_PLUGIN_METADATA(IID "org.kde.marble.GeoCluePositionProviderPlugin") 0028 Q_INTERFACES( Marble::PositionProviderPluginInterface ) 0029 0030 public: 0031 GeoCluePositionProviderPlugin(); 0032 virtual ~GeoCluePositionProviderPlugin(); 0033 0034 virtual QString name() const; 0035 virtual QString nameId() const; 0036 virtual QString guiString() const; 0037 virtual QString description() const; 0038 virtual QIcon icon() const; 0039 virtual void initialize(); 0040 virtual bool isInitialized() const; 0041 0042 virtual PositionProviderPlugin * newInstance() const; 0043 0044 virtual PositionProviderStatus status() const; 0045 virtual GeoDataCoordinates position() const; 0046 virtual GeoDataAccuracy accuracy() const; 0047 0048 private: 0049 GeoCute::PositionProvider* m_positionProvider; 0050 PositionProviderStatus m_status; 0051 GeoDataCoordinates m_position; 0052 GeoDataAccuracy m_accuracy; 0053 0054 private Q_SLOTS: 0055 void updatePosition(GeoCute::Position newPosition); 0056 void updateStatus(GeoCute::Status newStatus); 0057 }; 0058 0059 } 0060 0061 0062 0063 #endif