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