21 #ifndef PLUGINMANAGER_H
22 #define PLUGINMANAGER_H
24 #include <tulip/tulipconf.h>
26 #include <QtCore/QStringList>
34 struct TLP_QT_SCOPE PluginVersionInformations {
37 QString libraryLocation;
44 QStringList dependencies;
46 PluginVersionInformations();
47 PluginVersionInformations(
const PluginVersionInformations& copy);
50 struct TLP_QT_SCOPE PluginInformations {
53 PluginVersionInformations installedVersion;
54 PluginVersionInformations availableVersion;
57 PluginInformations(
const PluginInformations& copy);
62 class TLP_QT_SCOPE PluginManager {
63 static QStringList _markedForInstallation;
70 Q_DECLARE_FLAGS(PluginLocations, PluginLocation)
72 static const QString STABLE_LOCATION;
73 static const QString TESTING_LOCATION;
75 typedef QList<PluginVersionInformations> PluginVersionInformationsList;
77 typedef QList<PluginInformations> PluginInformationsList;
79 static
void addRemoteLocation(const QString& location);
80 static
void removeRemoteLocation(const QString& location);
81 static QStringList remoteLocations();
83 static PluginInformationsList listPlugins(PluginLocations locations,const QString& nameFilter = QString(),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