vtkSIObject.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
10 #ifndef vtkSIObject_h
11 #define vtkSIObject_h
12 
13 #include "vtkObject.h"
14 #include "vtkRemotingServerManagerModule.h" //needed for exports
15 #include "vtkSMMessageMinimal.h" // needed for vtkSMMessage
16 #include "vtkWeakPointer.h" // needed for vtkWeakPointer
17 
19 class vtkPVSessionCore;
20 
22 {
23 public:
24  static vtkSIObject* New();
25  vtkTypeMacro(vtkSIObject, vtkObject);
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
34  virtual void AboutToDelete(){};
35 
41  virtual void Initialize(vtkPVSessionCore* session);
42 
48  virtual void Push(vtkSMMessage* msg);
49 
55  virtual void Pull(vtkSMMessage* msg);
56 
60  vtkClientServerInterpreter* GetInterpreter();
61 
65  vtkSIObject* GetSIObject(vtkTypeUInt32 globalid) const;
66 
71  vtkObject* GetRemoteObject(vtkTypeUInt32 globalid);
72 
74 
77  vtkSetMacro(GlobalID, vtkTypeUInt32);
78  vtkGetMacro(GlobalID, vtkTypeUInt32);
80 
81 protected:
82  vtkSIObject();
83  ~vtkSIObject() override;
84 
87 
89 
90  vtkTypeUInt32 GlobalID;
91 
92 private:
93  vtkSIObject(const vtkSIObject&) = delete;
94  void operator=(const vtkSIObject&) = delete;
95 };
96 
97 #endif // #ifndef vtkSIObject_h
vtkSMMessage * LastPushedMessage
Definition: vtkSIObject.h:88
#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:34
Object that is managed by vtkPVSessionCore which wrap concrete class such as the vtk ones...
Definition: vtkSIObject.h:21
vtkWeakPointer< vtkClientServerInterpreter > Interpreter
Definition: vtkSIObject.h:85
vtkWeakPointer< vtkPVSessionCore > SessionCore
Definition: vtkSIObject.h:86
static vtkObject * New()
vtkTypeUInt32 GlobalID
Definition: vtkSIObject.h:90
void operator=(const vtkObjectBase &)