/usr/include/marble/RoutingRunnerPlugin.h is in libmarble-dev 4:4.13.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | //
// This file is part of the Marble Virtual Globe.
//
// This program is free software licensed under the GNU LGPL. You can
// find a copy of this license in LICENSE.txt in the top directory of
// the source code.
//
// Copyright 2010 Dennis Nienhüser <earthwings@gentoo.org>
// Copyright 2011 Thibaut Gridel <tgridel@free.fr>
// Copyright 2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
//
#ifndef MARBLE_ROUTINGRUNNERPLUGIN_H
#define MARBLE_ROUTINGRUNNERPLUGIN_H
#include <QObject>
#include "PluginInterface.h"
#include <QHash>
#include <QWidget>
#include "routing/RoutingProfilesModel.h"
namespace Marble
{
class MarbleAbstractRunner;
class RoutingRunner;
/**
* A plugin for Marble to execute a routing task.
*/
class MARBLE_EXPORT RoutingRunnerPlugin : public QObject, public PluginInterface
{
Q_OBJECT
public:
/** Constructor with optional parent object */
explicit RoutingRunnerPlugin( QObject* parent = 0 );
/** Destructor */
virtual ~RoutingRunnerPlugin();
/**
* @brief Returns the string that should appear in the user interface.
*
* For example, "OpenRouteService" should be returned for the OpenRouteService routing plugin.
*/
virtual QString guiString() const = 0;
/** Plugin factory method to create a new runner instance.
* Method caller gets ownership of the returned object
*/
virtual RoutingRunner *newRunner() const = 0;
/** True if the plugin supports its tasks on the given planet */
bool supportsCelestialBody( const QString &celestialBodyId ) const;
/** True if the plugin can execute its tasks without network access */
bool canWorkOffline() const;
/**
* @brief Returns @code true @endcode if the plugin is able to perform its claimed task.
*
* The default implementation returns @code true @endcode. This method can be
* overridden for example to indicate an incomplete installation.
*/
virtual bool canWork() const;
// Overridden methods with default implementations
virtual QIcon icon() const;
/** A status message showing whether the plugin will be able to deliver results */
QString statusMessage() const;
class ConfigWidget : public QWidget
{
public:
virtual void loadSettings( const QHash<QString, QVariant> &settings ) = 0;
virtual QHash<QString, QVariant> settings() const = 0;
};
/**
* @brief Method for getting a pointer to the configuration widget of the plugin.
*
* @return The configuration widget or, if no configuration widget exists, 0.
*/
virtual ConfigWidget *configWidget();
/** True if the plugin supports the given routing profile template */
virtual bool supportsTemplate( RoutingProfilesModel::ProfileTemplate profileTemplate ) const;
/** Settings for the given routing profile template */
virtual QHash<QString, QVariant> templateSettings( RoutingProfilesModel::ProfileTemplate profileTemplate ) const;
protected:
void setStatusMessage( const QString &message );
void setSupportedCelestialBodies( const QStringList &celestialBodies );
void setCanWorkOffline( bool canWorkOffline );
private:
class Private;
Private *const d;
};
}
Q_DECLARE_INTERFACE( Marble::RoutingRunnerPlugin, "org.kde.Marble.RunnerRunnerPlugin/1.01" )
#endif // MARBLE_ROUTINGRUNNERPLUGIN_H
|