pqPluginManager.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 
5 #ifndef pqPluginManager_h
6 #define pqPluginManager_h
7 
8 #include "pqCoreModule.h"
9 #include <QObject>
10 #include <QStringList>
11 
12 class pqServer;
13 class vtkPVPlugin;
15 class vtkSMPluginManager;
16 
28 class PQCORE_EXPORT pqPluginManager : public QObject
29 {
30  Q_OBJECT
31  typedef QObject Superclass;
32 
33 public:
34  pqPluginManager(QObject* p = nullptr);
35  ~pqPluginManager() override;
36 
44  void loadPluginsFromSettings();
45 
47  {
50  ALREADYLOADED
51  };
52 
60  LoadStatus loadExtension(
61  pqServer* session, const QString& lib, QString* errorMsg = nullptr, bool remote = true);
62 
67  void loadExtensions(pqServer*);
68 
74  vtkPVPluginsInformation* loadedExtensions(pqServer* session, bool remote);
75 
79  QStringList pluginPaths(pqServer* session, bool remote);
80 
85  void hidePlugin(const QString& lib, bool remote);
86  bool isHidden(const QString& lib, bool remote);
87 
93  bool verifyPlugins(pqServer* session);
94 
95 Q_SIGNALS:
99  void pluginsUpdated();
100 
104  void requiredPluginsNotLoaded(pqServer*);
105 
106 protected:
107  void initialize(vtkSMPluginManager*);
108 
109 protected Q_SLOTS: // NOLINT(readability-redundant-access-specifiers)
113  void loadPluginsFromSettings(pqServer*);
114 
115  void onServerConnected(pqServer*);
116  void onServerDisconnected(pqServer*);
117  void updatePluginLists();
118 
119 private:
120  class pqInternals;
121  pqInternals* Internals;
122 
127  static bool confirmEULA(vtkPVPlugin* plugin);
128 };
129 
130 #endif
manages ParaView plugins.
defines the core interface for any ParaView plugin.
Definition: vtkPVPlugin.h:38
information about plugins tracked by vtkPVPluginTracker.
#define PQCORE_EXPORT
Definition: pqCoreModule.h:15
pqPluginManager works with vtkSMPluginManager to keep track for plugins loaded/available.
pqServer (should be renamed to pqSession) is a pqServerManagerModelItem subclass that represents a vt...
Definition: pqServer.h:35