Marble

PositionProviderPlugin.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2009 Eckhart Wörner <ewoerner@kde.org>
4//
5
6#ifndef MARBLE_POSITIONPROVIDERPLUGIN_H
7#define MARBLE_POSITIONPROVIDERPLUGIN_H
8
9#include "PositionProviderPluginInterface.h"
10#include "marble_export.h"
11
12
13namespace Marble
14{
15class PositionProviderPluginPrivate;
16
17/**
18 * @short The abstract class that provides position information.
19 */
21{
22 Q_OBJECT
23
24 public:
25 ~PositionProviderPlugin() override;
26
27 /**
28 * @brief Returns the string that should appear in the user interface.
29 *
30 * Example: "GPS"
31 */
32 virtual QString guiString() const = 0;
33
34 /**
35 * Create a new PositionProvider Plugin and return it.
36 * Has to be defined in concrete position provider plugin classes.
37 */
38 virtual PositionProviderPlugin * newInstance() const = 0;
39
40 Q_SIGNALS:
41 void statusChanged( PositionProviderStatus status ) const;
42 void positionChanged( const GeoDataCoordinates& position,
43 const GeoDataAccuracy& accuracy ) const;
44
45 protected:
46 PositionProviderPlugin(QObject* parent=nullptr);
47
48 private:
49 Q_DISABLE_COPY( PositionProviderPlugin )
50 PositionProviderPluginPrivate *d;
51
52};
53
54}
55
56#endif
A 3d point representation.
The interface for position provider plugins.
The abstract class that provides position information.
virtual QString guiString() const =0
Returns the string that should appear in the user interface.
virtual PositionProviderPlugin * newInstance() const =0
Create a new PositionProvider Plugin and return it.
Q_SCRIPTABLE CaptureState status()
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:17 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.