Marble

PluginManager.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 2006-2008 Torsten Rahn <[email protected]>
9 // Copyright 2009 Jens-Michael Hoffmann <[email protected]>
10 //
11 
12 #ifndef MARBLE_PLUGINMANAGER_H
13 #define MARBLE_PLUGINMANAGER_H
14 
15 #include <QObject>
16 #include <QList>
17 #include "marble_export.h"
18 
19 
20 namespace Marble
21 {
22 
23 class RenderPlugin;
24 class PositionProviderPlugin;
25 class PluginManagerPrivate;
26 class SearchRunnerPlugin;
27 class ReverseGeocodingRunnerPlugin;
28 class RoutingRunnerPlugin;
29 class ParseRunnerPlugin;
30 
44 class MARBLE_EXPORT PluginManager : public QObject
45 {
46  Q_OBJECT
47 
48  public:
49  explicit PluginManager( QObject* parent = nullptr );
50 
51  ~PluginManager() override;
52 
60  QList<const RenderPlugin *> renderPlugins() const;
61 
67  void addRenderPlugin( const RenderPlugin *plugin );
68 
76  QList<const PositionProviderPlugin *> positionProviderPlugins() const;
77 
83  void addPositionProviderPlugin( const PositionProviderPlugin *plugin );
84 
89  QList<const SearchRunnerPlugin *> searchRunnerPlugins() const;
90 
96  void addSearchRunnerPlugin( const SearchRunnerPlugin *plugin );
97 
102  QList<const ReverseGeocodingRunnerPlugin *> reverseGeocodingRunnerPlugins() const;
103 
109  void addReverseGeocodingRunnerPlugin( const ReverseGeocodingRunnerPlugin *plugin );
110 
115  QList<RoutingRunnerPlugin *> routingRunnerPlugins() const;
116 
122  void addRoutingRunnerPlugin( RoutingRunnerPlugin * plugin );
123 
128  QList<const ParseRunnerPlugin *> parsingRunnerPlugins() const;
129 
135  void addParseRunnerPlugin( const ParseRunnerPlugin *plugin );
136 
142  static void blacklistPlugin(const QString &filename);
143 
151  static void whitelistPlugin(const QString &filename);
152 
153 Q_SIGNALS:
154  void renderPluginsChanged();
155 
156  void positionProviderPluginsChanged();
157 
158  void searchRunnerPluginsChanged();
159 
160  void reverseGeocodingRunnerPluginsChanged();
161 
162  void routingRunnerPluginsChanged();
163 
164  void parseRunnerPluginsChanged();
165 
166  private:
167  Q_DISABLE_COPY( PluginManager )
168 
169 #ifdef Q_OS_ANDROID
170  void installPluginsFromAssets() const;
171 #endif
172 
173  PluginManagerPrivate * const d;
174 };
175 
176 }
177 
178 #endif
The class that handles Marble&#39;s plugins.
Definition: PluginManager.h:44
Binds a QML item to a specific geodetic location in screen coordinates.
The abstract class that provides position information.
A plugin for Marble to execute a reverse geocoding task.
A plugin for Marble to execute a placemark search.
A plugin for Marble to execute a parsing task.
A plugin for Marble to execute a routing task.
The abstract class that creates a renderable item.
Definition: RenderPlugin.h:43
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Nov 27 2020 23:22:13 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.