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 
21 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSIObject : public vtkObject
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
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkSIObject
Definition: vtkSIObject.h:21
vtkSIObject::LastPushedMessage
vtkSMMessage * LastPushedMessage
Definition: vtkSIObject.h:88
vtkObject::New
static vtkObject * New()
vtkObject
vtkSIObject::Interpreter
vtkWeakPointer< vtkClientServerInterpreter > Interpreter
Definition: vtkSIObject.h:85
vtkIndent
vtkSMMessage
vtkSIObject::SessionCore
vtkWeakPointer< vtkPVSessionCore > SessionCore
Definition: vtkSIObject.h:86
vtkWeakPointer.h
vtkPVSessionCore
Definition: vtkPVSessionCore.h:30
vtkObject.h
vtkSIObject::AboutToDelete
virtual void AboutToDelete()
This method is called before the deletion of the SIObject.
Definition: vtkSIObject.h:34
vtkSIObject::GlobalID
vtkTypeUInt32 GlobalID
Definition: vtkSIObject.h:90
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkWeakPointer< vtkClientServerInterpreter >
vtkClientServerInterpreter
Run-time VTK interpreter.
Definition: vtkClientServerInterpreter.h:51
vtkSMMessageMinimal.h