vtkSMPluginManager.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
14 #ifndef vtkSMPluginManager_h
15 #define vtkSMPluginManager_h
16 
17 #include "vtkRemotingServerManagerModule.h" //needed for exports
18 #include "vtkSMObject.h"
19 
21 class vtkSMSession;
22 
24 {
25 public:
26  static vtkSMPluginManager* New();
28  void PrintSelf(ostream& os, vtkIndent indent) override;
29 
31 
37  void RegisterSession(vtkSMSession*);
38  void UnRegisterSession(vtkSMSession*);
40 
42 
49  vtkGetObjectMacro(LocalInformation, vtkPVPluginsInformation);
50  vtkPVPluginsInformation* GetRemoteInformation(vtkSMSession*);
52 
54 
59  const char* GetLocalPluginSearchPaths();
60  const char* GetRemotePluginSearchPaths(vtkSMSession*);
62 
64 
67  bool LoadRemotePlugin(const char* filename, vtkSMSession*);
68  bool LoadLocalPlugin(const char* filename);
70 
82  void LoadPluginConfigurationXMLFromString(
83  const char* xmlcontents, vtkSMSession* session, bool remote);
84 
92  bool FulfillPluginRequirements(vtkSMSession* session, bool onlyCheck = false);
93 
94  enum
95  {
96  PluginLoadedEvent = 100000,
98  RemotePluginLoadedEvent
99  };
100 
101 protected:
103  ~vtkSMPluginManager() override;
104 
106  void OnPluginRegistered();
107  void OnPluginAvailable();
108  void UpdateLocalPluginInformation();
109 
114  bool FulfillPluginClientServerRequirements(vtkSMSession* session,
115  const std::map<std::string, unsigned int>& inputMap, vtkPVPluginsInformation* inputPluginInfo,
116  const std::map<std::string, unsigned int>& outputMap, vtkPVPluginsInformation* outputPluginInfo,
117  bool inputClient, bool onlyCheck);
118 
120 
121 private:
122  vtkSMPluginManager(const vtkSMPluginManager&) = delete;
123  void operator=(const vtkSMPluginManager&) = delete;
124 
125  class vtkInternals;
126  vtkInternals* Internals;
127 };
128 
129 #endif
vtkPVPluginsInformation * LocalInformation
manages ParaView plugins.
#define VTKREMOTINGSERVERMANAGER_EXPORT
vtkSMSession is the default ParaView session.
Definition: vtkSMSession.h:22
information about plugins tracked by vtkPVPluginTracker.
superclass for most server manager classes
Definition: vtkSMObject.h:17
static vtkSMObject * New()
void PrintSelf(ostream &os, vtkIndent indent) override