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 
61  LoadStatus loadExtension(
62  pqServer* session, const QString& plugin, QString* errorMsg = nullptr, bool remote = true);
63 
68  void loadExtensions(pqServer*);
69 
75  vtkPVPluginsInformation* loadedExtensions(pqServer* session, bool remote);
76 
80  QStringList pluginPaths(pqServer* session, bool remote);
81 
85  void addPluginConfigFile(pqServer* session, const QString& config, bool remote = true);
86 
91  void hidePlugin(const QString& lib, bool remote);
92  bool isHidden(const QString& lib, bool remote);
93 
99  bool verifyPlugins(pqServer* session);
100 
101 Q_SIGNALS:
105  void pluginsUpdated();
106 
110  void requiredPluginsNotLoaded(pqServer*);
111 
112 protected:
113  void initialize(vtkSMPluginManager*);
114 
115 protected Q_SLOTS: // NOLINT(readability-redundant-access-specifiers)
119  void loadPluginsFromSettings(pqServer*);
120 
121  void onServerConnected(pqServer*);
122  void onServerDisconnected(pqServer*);
123  void updatePluginLists();
124 
125 private:
126  class pqInternals;
127  pqInternals* Internals;
128 
133  static bool confirmEULA(vtkPVPlugin* plugin);
134 };
135 
136 #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