Marble

ReverseGeocodingRunnerPlugin.h
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 2010 Dennis Nienhüser <[email protected]>
9 // Copyright 2011 Thibaut Gridel <[email protected]>
10 // Copyright 2012 Bernhard Beschow <[email protected]>
11 //
12 
13 #ifndef MARBLE_REVERSEGEOCODINGRUNNERPLUGIN_H
14 #define MARBLE_REVERSEGEOCODINGRUNNERPLUGIN_H
15 
16 #include <QObject>
17 #include "PluginInterface.h"
18 
19 namespace Marble
20 {
21 
22 class ReverseGeocodingRunner;
23 
27 class MARBLE_EXPORT ReverseGeocodingRunnerPlugin : public QObject, public PluginInterface
28 {
29  Q_OBJECT
30 
31 public:
33  explicit ReverseGeocodingRunnerPlugin( QObject* parent = nullptr );
34 
36  ~ReverseGeocodingRunnerPlugin() override;
37 
43  virtual QString guiString() const = 0;
44 
48  virtual ReverseGeocodingRunner *newRunner() const = 0;
49 
51  bool supportsCelestialBody( const QString &celestialBodyId ) const;
52 
54  bool canWorkOffline() const;
55 
62  virtual bool canWork() const;
63 
64  // Overridden methods with default implementations
65 
66  QIcon icon() const override;
67 
68 protected:
69  void setSupportedCelestialBodies( const QStringList &celestialBodies );
70 
71  void setCanWorkOffline( bool canWorkOffline );
72 
73 private:
74  class Private;
75  Private * const d;
76 };
77 
78 }
79 
80 Q_DECLARE_INTERFACE( Marble::ReverseGeocodingRunnerPlugin, "org.kde.Marble.ReverseGeocodingRunnerPlugin/1.01" )
81 
82 #endif // MARBLE_REVERSEGEOCODINGRUNNERPLUGIN_H
Binds a QML item to a specific geodetic location in screen coordinates.
A plugin for Marble to execute a reverse geocoding task.
This class specifies interface of a Marble plugin.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat Oct 24 2020 23:25:25 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.