vtkSMDeserializer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMDeserializer.h
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 =========================================================================*/
24 #ifndef vtkSMDeserializer_h
25 #define vtkSMDeserializer_h
26 
27 #include "vtkObject.h"
28 #include "vtkRemotingServerManagerModule.h" //needed for exports
29 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
30 
31 class vtkPVXMLElement;
32 class vtkSMProxy;
33 class vtkSMProxyLocator;
34 class vtkSMSession;
36 
38 {
39 public:
40  vtkTypeMacro(vtkSMDeserializer, vtkObject);
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
48  void SetSession(vtkSMSession* session);
49 
51 
55  vtkSMSessionProxyManager* GetSessionProxyManager();
56  void SetSessionProxyManager(vtkSMSessionProxyManager*);
58 
63  vtkSMSession* GetSession();
64 
65 protected:
67  ~vtkSMDeserializer() override;
68 
69  // Friend to access NewProxy().
70  friend class vtkSMProxyLocator;
71 
75  virtual vtkSMProxy* NewProxy(vtkTypeUInt32 id, vtkSMProxyLocator* locator) = 0;
76 
81  virtual vtkSMProxy* CreateProxy(
82  const char* xmlgroup, const char* xmlname, const char* subProxyName = nullptr);
83 
85 
86 private:
87  vtkSMDeserializer(const vtkSMDeserializer&) = delete;
88  void operator=(const vtkSMDeserializer&) = delete;
89 };
90 
91 #endif
#define VTKREMOTINGSERVERMANAGER_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkSMSession is the default ParaView session.
Definition: vtkSMSession.h:35
deserializes proxies from their states.
virtual vtkSMProxy * NewProxy(vtkTypeUInt32 globalID)
Create new proxy with the given id.
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152
is used to locate proxies referred to in state xmls while loading state files.
vtkWeakPointer< vtkSMSessionProxyManager > SessionProxyManager
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
void operator=(const vtkObjectBase &)