vtkSMProxyIterator.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkSMProxyIterator_h
14 #define vtkSMProxyIterator_h
15 
16 #include "vtkRemotingServerManagerModule.h" //needed for exports
17 #include "vtkSMObject.h"
18 
19 struct vtkSMProxyIteratorInternals;
20 
21 class vtkSMProxy;
22 class vtkSMSession;
24 
25 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMProxyIterator : public vtkSMObject
26 {
27 public:
28  static vtkSMProxyIterator* New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
35  void SetSessionProxyManager(vtkSMSessionProxyManager*);
36 
41  void SetSession(vtkSMSession* session);
42 
46  void Begin();
47 
51  void Begin(const char* groupName);
52 
56  int IsAtEnd();
57 
61  void Next();
62 
66  const char* GetGroup();
67 
71  const char* GetKey();
72 
76  vtkSMProxy* GetProxy();
77 
79 
85  vtkSetMacro(Mode, int);
86  vtkGetMacro(Mode, int);
87  void SetModeToGroupsOnly() { this->SetMode(GROUPS_ONLY); }
88  void SetModeToOneGroup() { this->SetMode(ONE_GROUP); }
89  void SetModeToAll() { this->SetMode(ALL); }
91 
93 
96  vtkSetMacro(SkipPrototypes, bool);
97  vtkGetMacro(SkipPrototypes, bool);
98  vtkBooleanMacro(SkipPrototypes, bool);
100 
102  {
103  GROUPS_ONLY = 0,
104  ONE_GROUP = 1,
105  ALL = 2
106  };
107 
108 protected:
110  ~vtkSMProxyIterator() override;
111 
113  int Mode;
114  void NextInternal();
115 
116 private:
117  vtkSMProxyIteratorInternals* Internals;
118 
119  vtkSMProxyIterator(const vtkSMProxyIterator&) = delete;
120  void operator=(const vtkSMProxyIterator&) = delete;
121 };
122 
123 #endif
vtkSMSessionProxyManager
Definition: vtkSMSessionProxyManager.h:135
vtkSMObject
superclass for most server manager classes
Definition: vtkSMObject.h:17
vtkSMProxyIterator
iterates over all registered proxies (and groups)
Definition: vtkSMProxyIterator.h:25
vtkSMProxyIterator::SetModeToGroupsOnly
void SetModeToGroupsOnly()
The traversal mode for the iterator.
Definition: vtkSMProxyIterator.h:87
vtkSMObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSMProxyIterator::SetModeToAll
void SetModeToAll()
The traversal mode for the iterator.
Definition: vtkSMProxyIterator.h:89
vtkSMObject.h
vtkSMProxyIterator::SkipPrototypes
bool SkipPrototypes
Definition: vtkSMProxyIterator.h:112
vtkSMProxyIterator::Mode
int Mode
Definition: vtkSMProxyIterator.h:113
vtkSMProxy
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
vtkSMSession
Definition: vtkSMSession.h:22
vtkIndent
vtkSMObject::New
static vtkSMObject * New()
vtkSMProxyIterator::TraversalMode
TraversalMode
Definition: vtkSMProxyIterator.h:101
vtkSMProxyIterator::SetModeToOneGroup
void SetModeToOneGroup()
The traversal mode for the iterator.
Definition: vtkSMProxyIterator.h:88