vtkSMPluginManager.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: $RCSfile$
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
26 #ifndef vtkSMPluginManager_h
27 #define vtkSMPluginManager_h
28 
29 #include "vtkRemotingServerManagerModule.h" //needed for exports
30 #include "vtkSMObject.h"
31 
33 class vtkSMSession;
34 
35 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMPluginManager : public vtkSMObject
36 {
37 public:
38  static vtkSMPluginManager* New();
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
43 
49  void RegisterSession(vtkSMSession*);
50  void UnRegisterSession(vtkSMSession*);
52 
54 
61  vtkGetObjectMacro(LocalInformation, vtkPVPluginsInformation);
62  vtkPVPluginsInformation* GetRemoteInformation(vtkSMSession*);
64 
66 
71  const char* GetLocalPluginSearchPaths();
72  const char* GetRemotePluginSearchPaths(vtkSMSession*);
74 
76 
79  bool LoadRemotePlugin(const char* filename, vtkSMSession*);
80  bool LoadLocalPlugin(const char* filename);
82 
94  void LoadPluginConfigurationXMLFromString(
95  const char* xmlcontents, vtkSMSession* session, bool remote);
96 
97  enum
98  {
99  PluginLoadedEvent = 100000,
101  RemotePluginLoadedEvent
102  };
103 
104 protected:
106  ~vtkSMPluginManager() override;
107 
109  void OnPluginRegistered();
110  void OnPluginAvailable();
111  void UpdateLocalPluginInformation();
112 
114 
115 private:
116  vtkSMPluginManager(const vtkSMPluginManager&) = delete;
117  void operator=(const vtkSMPluginManager&) = delete;
118 
119  class vtkInternals;
120  vtkInternals* Internals;
121 };
122 
123 #endif
vtkPVPluginsInformation * LocalInformation
manages ParaView plugins.
vtkSMSession is the default ParaView session.
Definition: vtkSMSession.h:35
information about plugins tracked by vtkPVPluginTracker.
superclass for most server manager classes
Definition: vtkSMObject.h:29
static vtkSMObject * New()
void PrintSelf(ostream &os, vtkIndent indent) override