21 #ifndef PLUGINMANAGER_H
22 #define PLUGINMANAGER_H
24 #include <QStringList>
26 #include <tulip/tulipconf.h>
34 struct TLP_QT_SCOPE PluginVersionInformation {
37 QString libraryLocation;
44 QStringList dependencies;
46 PluginVersionInformation();
47 PluginVersionInformation(
const PluginVersionInformation& copy);
51 _DEPRECATED_TYPEDEF(PluginVersionInformation, PluginVersionInformations);
53 struct TLP_QT_SCOPE PluginInformation {
56 PluginVersionInformation installedVersion;
57 PluginVersionInformation availableVersion;
60 PluginInformation(
const PluginInformation& copy);
66 _DEPRECATED_TYPEDEF(PluginInformation, PluginInformations);
68 class TLP_QT_SCOPE PluginManager {
69 static QStringList _markedForInstallation;
76 Q_DECLARE_FLAGS(PluginLocations, PluginLocation)
78 static const QString STABLE_LOCATION;
79 static const QString TESTING_LOCATION;
81 typedef QList<PluginVersionInformation> PluginVersionInformationList;
82 _DEPRECATED_TYPEDEF(QList<PluginVersionInformation>, PluginVersionInformationsList);
84 typedef QList<PluginInformation> PluginInformationList;
85 _DEPRECATED_TYPEDEF(QList<PluginInformation>, PluginInformationsList);
87 static
void addRemoteLocation(const QString& location);
88 static
void removeRemoteLocation(const QString& location);
89 static QStringList remoteLocations();
91 static PluginInformationList listPlugins(PluginLocations locations,const QString& nameFilter = QString(),const QString& categoryFilter = QString());
93 static
void markForRemoval(const QString& plugin);
94 static
void markForInstallation(const QString& plugin, QObject *recv, const
char* progressSlot);
96 static QStringList markedForInstallation();
97 static QStringList markedForRemoval();
98 static
void unmarkForRemoval(const QString& file);
101 Q_DECLARE_OPERATORS_FOR_FLAGS(PluginManager::PluginLocations)
104 #endif //PLUGINMANAGER_H