21 #ifndef PLUGINMANAGER_H 22 #define PLUGINMANAGER_H 25 #include <QStringList> 27 #include <tulip/tulipconf.h> 35 struct TLP_QT_SCOPE PluginVersionInformation {
38 QString libraryLocation;
45 QStringList dependencies;
47 PluginVersionInformation();
48 PluginVersionInformation(
const PluginVersionInformation ©);
51 struct TLP_QT_SCOPE PluginInformation {
54 PluginVersionInformation installedVersion;
55 PluginVersionInformation availableVersion;
58 PluginInformation(
const PluginInformation ©);
63 class TLP_QT_SCOPE PluginManager {
64 static QStringList _markedForInstallation;
67 enum PluginLocation { Remote = 0x01, Local = 0x02 };
68 Q_DECLARE_FLAGS(PluginLocations, PluginLocation)
70 static const QString STABLE_LOCATION;
71 static const QString TESTING_LOCATION;
73 typedef QList<PluginVersionInformation> PluginVersionInformationList;
75 typedef QList<PluginInformation> PluginInformationList;
77 static void addRemoteLocation(
const QString &location);
78 static void removeRemoteLocation(
const QString &location);
79 static QStringList remoteLocations();
81 static PluginInformationList listPlugins(PluginLocations locations,
82 const QString &nameFilter = QString(),
83 const QString &categoryFilter = QString());
85 static void markForRemoval(
const QString &plugin);
86 static void markForInstallation(
const QString &plugin, QObject *recv,
const char *progressSlot);
88 static QStringList markedForInstallation();
89 static QStringList markedForRemoval();
90 static void unmarkForRemoval(
const QString &file);
93 Q_DECLARE_OPERATORS_FOR_FLAGS(PluginManager::PluginLocations)
96 #endif // PLUGINMANAGER_H
Top-level interface for plug-ins.