vtkPVProgressHandler.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
31 #ifndef vtkPVProgressHandler_h
32 #define vtkPVProgressHandler_h
33 
34 #include "vtkObject.h"
35 #include "vtkRemotingCoreModule.h" //needed for exports
36 
38 class vtkPVSession;
39 
41 {
42 public:
43  static vtkPVProgressHandler* New();
45  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
48 
51  void SetSession(vtkPVSession* conn);
52  vtkGetObjectMacro(Session, vtkPVSession);
54 
58  void RegisterProgressEvent(vtkObject* object, int id);
59 
64  void PrepareProgress();
65 
70  void AddHandlers();
71 
76  bool GetEnableProgress();
77 
82  void CleanupPendingProgress();
83 
87  void LocalCleanupPendingProgress();
88 
90 
95  vtkSetClampMacro(ProgressInterval, double, 0.01, 30.0);
96  vtkGetMacro(ProgressInterval, double);
98 
100 
103  vtkGetStringMacro(LastProgressText);
104  vtkGetMacro(LastProgress, int);
105  vtkGetMacro(LastProgressId, vtkTypeUInt32);
107 
108 protected:
110  ~vtkPVProgressHandler() override;
111 
112  enum TAGS
113  {
114  CLEANUP_TAG = 188969,
115  PROGRESS_EVENT_TAG = 188970,
116  MESSAGE_EVENT_TAG = 188971
117  };
118 
119  enum RMI_TAGS
120  {
121  CLEANUP_TAG_RMI = 188972,
122  MESSAGE_EVENT_TAG_RMI = 188973
123  };
124 
128  void RefreshProgress(const char* progress_text, double progress, vtkTypeUInt32 progress_id);
129 
132 
133 private:
135  void operator=(const vtkPVProgressHandler&) = delete;
136 
140  void OnProgressEvent(vtkObject* caller, unsigned long eventid, void* calldata);
141 
147  void OnMessageEvent(vtkObject* caller, unsigned long eventid, void* calldata);
148 
152  bool OnWrongTagEvent(vtkObject* caller, unsigned long eventid, void* calldata);
153 
157  void RefreshMessage(const char* message_text, int eventid, bool is_local);
158 
159  bool AddedHandlers;
160  class vtkInternals;
161  vtkInternals* Internals;
162 
163  vtkSetStringMacro(LastProgressText);
164  int LastProgress;
165  char* LastProgressText;
166  vtkTypeUInt32 LastProgressId;
167 
168  class RMICallback;
169  friend class RMICallback;
170  ;
171 };
172 
173 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
extends vtkSession to add API for ParaView sessions.
Definition: vtkPVSession.h:23
#define VTKREMOTINGCORE_EXPORT
static vtkObject * New()
void operator=(const vtkObjectBase &)
progress handler.