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& copy);
52 struct TLP_QT_SCOPE PluginInformation {
55 PluginVersionInformation installedVersion;
56 PluginVersionInformation availableVersion;
59 PluginInformation(
const PluginInformation& copy);
64 class TLP_QT_SCOPE PluginManager {
65 static QStringList _markedForInstallation;
72 Q_DECLARE_FLAGS(PluginLocations, PluginLocation)
74 static const QString STABLE_LOCATION;
75 static const QString TESTING_LOCATION;
77 typedef QList<PluginVersionInformation> PluginVersionInformationList;
79 typedef QList<PluginInformation> PluginInformationList;
81 static
void addRemoteLocation(const QString& location);
82 static
void removeRemoteLocation(const QString& location);
83 static QStringList remoteLocations();
85 static PluginInformationList listPlugins(PluginLocations locations,const QString& nameFilter = QString(),const QString& categoryFilter = QString());
87 static
void markForRemoval(const QString& plugin);
88 static
void markForInstallation(const QString& plugin, QObject *recv, const
char* progressSlot);
90 static QStringList markedForInstallation();
91 static QStringList markedForRemoval();
92 static
void unmarkForRemoval(const QString& file);
95 Q_DECLARE_OPERATORS_FOR_FLAGS(PluginManager::PluginLocations)
98 #endif //PLUGINMANAGER_H
Top-level interface for plug-ins.