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
12namespace Marble
13{
14class PositionProviderPluginPrivate;
15
16/**
17 * @short The abstract class that provides position information.
18 */
20{
21 Q_OBJECT
22
23public:
24 ~PositionProviderPlugin() override;
25
26 /**
27 * @brief Returns the string that should appear in the user interface.
28 *
29 * Example: "GPS"
30 */
31 virtual QString guiString() const = 0;
32
33 /**
34 * Create a new PositionProvider Plugin and return it.
35 * Has to be defined in concrete position provider plugin classes.
36 */
37 virtual PositionProviderPlugin *newInstance() const = 0;
38
39Q_SIGNALS:
40 void statusChanged(PositionProviderStatus status) const;
41 void positionChanged(const GeoDataCoordinates &position, const GeoDataAccuracy &accuracy) const;
42
43protected:
44 PositionProviderPlugin(QObject *parent = nullptr);
45
46private:
47 Q_DISABLE_COPY(PositionProviderPlugin)
48 PositionProviderPluginPrivate *const d;
49};
50
51}
52
53#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 Fri Dec 6 2024 12:08:53 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.