vtkSIObject.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSIObject.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 =========================================================================*/
22 #ifndef vtkSIObject_h
23 #define vtkSIObject_h
24 
25 #include "vtkObject.h"
26 #include "vtkRemotingServerManagerModule.h" //needed for exports
27 #include "vtkSMMessageMinimal.h" // needed for vtkSMMessage
28 #include "vtkWeakPointer.h" // needed for vtkWeakPointer
29 
31 class vtkPVSessionCore;
32 
34 {
35 public:
36  static vtkSIObject* New();
37  vtkTypeMacro(vtkSIObject, vtkObject);
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
46  virtual void AboutToDelete(){};
47 
53  virtual void Initialize(vtkPVSessionCore* session);
54 
60  virtual void Push(vtkSMMessage* msg);
61 
67  virtual void Pull(vtkSMMessage* msg);
68 
72  vtkClientServerInterpreter* GetInterpreter();
73 
77  vtkSIObject* GetSIObject(vtkTypeUInt32 globalid) const;
78 
83  vtkObject* GetRemoteObject(vtkTypeUInt32 globalid);
84 
86 
89  vtkSetMacro(GlobalID, vtkTypeUInt32);
90  vtkGetMacro(GlobalID, vtkTypeUInt32);
92 
93 protected:
94  vtkSIObject();
95  ~vtkSIObject() override;
96 
99 
101 
102  vtkTypeUInt32 GlobalID;
103 
104 private:
105  vtkSIObject(const vtkSIObject&) = delete;
106  void operator=(const vtkSIObject&) = delete;
107 };
108 
109 #endif // #ifndef vtkSIObject_h
vtkSMMessage * LastPushedMessage
Definition: vtkSIObject.h:100
#define VTKREMOTINGSERVERMANAGER_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkPVSessionCore is used by vtkSMSession.
Run-time VTK interpreter.
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
virtual void AboutToDelete()
This method is called before the deletion of the SIObject.
Definition: vtkSIObject.h:46
Object that is managed by vtkPVSessionCore which wrap concrete class such as the vtk ones...
Definition: vtkSIObject.h:33
vtkWeakPointer< vtkClientServerInterpreter > Interpreter
Definition: vtkSIObject.h:97
vtkWeakPointer< vtkPVSessionCore > SessionCore
Definition: vtkSIObject.h:98
static vtkObject * New()
vtkTypeUInt32 GlobalID
Definition: vtkSIObject.h:102
void operator=(const vtkObjectBase &)