/usr/include/marble/PluginInterface.h is in libmarble-dev 4:17.12.3-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 | //
// 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.
//
// Most of the code is taken from MarbleRenderPluginInterface.h
// by Torsten Rahn and Inge Wallin.
//
// Copyright 2009 Jens-Michael Hoffmann <jensmh@gmx.de>
// Copyright 2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
//
#ifndef MARBLE_PLUGININTERFACE_H
#define MARBLE_PLUGININTERFACE_H
#include <QVector>
#include <QCoreApplication> // for Q_DECLARE_TR_FUNCTIONS
#include <QString>
#include <QtPlugin>
#include "marble_export.h"
class QIcon;
namespace Marble
{
struct MARBLE_EXPORT PluginAuthor
{
Q_DECLARE_TR_FUNCTIONS(PluginAuthor)
public:
PluginAuthor()
{}
PluginAuthor( const QString &name_, const QString &email_, const QString &task_ = PluginAuthor::tr( "Developer" ) ) :
name( name_ ),
task( task_ ),
email( email_ )
{}
QString name;
QString task;
QString email;
};
/**
* @short This class specifies interface of a Marble plugin.
*/
class MARBLE_EXPORT PluginInterface
{
public:
virtual ~PluginInterface();
/**
* @brief Returns the user-visible name of the plugin.
*
* The user-visible name should be context free, i.e. the name should
* provide enough information as to what the plugin is about in the context
* of Marble.
*
* Example: "Starry Sky Background", "OpenRouteService Routing"
*/
virtual QString name() const = 0;
/**
* @brief Returns the unique name of the plugin.
*
* Examples: "starrysky", "openrouteservice"
*/
virtual QString nameId() const = 0;
virtual QString version() const = 0;
/**
* @brief Returns a user description of the plugin.
*/
virtual QString description() const = 0;
/**
* @brief Returns an icon for the plugin.
*/
virtual QIcon icon() const = 0;
virtual QString copyrightYears() const = 0;
/**
* @since 0.26.0
*/
virtual QVector<PluginAuthor> pluginAuthors() const = 0;
/**
* @brief Returns about text (credits) for external data the plugin uses.
*
* The default implementation returns the empty string. Please override
* this method to give credits for all data from 3rd-partys.
*/
virtual QString aboutDataText() const;
};
}
Q_DECLARE_TYPEINFO(Marble::PluginAuthor, Q_MOVABLE_TYPE);
Q_DECLARE_INTERFACE( Marble::PluginInterface, "org.kde.Marble.PluginInterface/1.1" )
#endif
|