VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
organizationManagerNode.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
17 
18 #include <vlutil/vlList.h>
19 #include <vlpi/entityIdentifier.h>
20 #include <list>
21 #include <vector>
22 
24 typedef void (*DtOrgNodeCallbackFunction)(
25  const DtUUID& superior, const DtUUID& subordinate, void* userData);
26 
28 {
29 public:
30 
33 
36  DtOrgNodeCallbackFunction cb, void* userData);
37 
39  virtual ~DtOrgNodeCallbackInfo();
40 
43 
45  DtOrgNodeCallbackInfo& operator=(
46  const DtOrgNodeCallbackInfo& orig);
47 
49  bool operator==(const DtOrgNodeCallbackInfo& orig) const;
50  bool operator!=(const DtOrgNodeCallbackInfo& orig) const;
51 
53  virtual void setCallbackFunction(DtOrgNodeCallbackFunction funct);
54  virtual DtOrgNodeCallbackFunction callbackFunction() const;
55 
57  virtual void setUserData(void* data);
58  virtual void* userData() const;
59 
60 protected:
62  void* myUserData;
63 };
64 
66 {
67 public:
69  virtual ~DtOrganizationManagerNode();
70 
71 private:
76 
77 public:
78 
81  virtual const DtList* childList() const;
82  virtual DtList* childList();
84 
88  virtual bool removeChild(const DtOrganizationManagerNode* node);
89  virtual void removeAllChildren();
90  virtual void addChild(DtOrganizationManagerNode* node);
99  virtual void orderChildren(const std::vector<DtUUID>& childOrder);
100 
103  virtual void setParent(DtOrganizationManagerNode* parent);
104  virtual DtOrganizationManagerNode* parent() const;
106 
108  virtual void setVrfObject(DtVrfObject*);
109  const DtSharedVrfObjectReference& vrfObject() { return myVrfObject; };
110  const DtSharedVrfObjectReference& vrfObject() const { return myVrfObject; };
111 
114  virtual const DtUUID& uuid() const;
116 
119  virtual void setEntityIdentifier(const DtEntityIdentifier &id);
120  virtual const DtEntityIdentifier& entityIdentifier() const;
122 
126  virtual void setIsTopLevel(bool isTopLevel);
127  virtual bool isTopLevel() const;
129 
133  virtual void addChildAddedCallback(
134  DtOrgNodeCallbackFunction fcn, void* userData);
135  virtual void removeChildAddedCallback(
136  DtOrgNodeCallbackFunction fcn, void* userData);
138 
142  virtual void addChildRemovedCallback(
143  DtOrgNodeCallbackFunction fcn, void* userData);
144  virtual void removeChildRemovedCallback(
145  DtOrgNodeCallbackFunction fcn, void* userData);
147 
155  virtual void addSubordinatesChangedCallback(
156  DtOrgNodeCallbackFunction fcn, void* userData);
157  virtual void removeSubordinatesChangedCallback(
158  DtOrgNodeCallbackFunction fcn, void* userData);
160 
161 protected:
162 
164  virtual void invokeSubordinatesChangedCallbacks(
165  const DtUUID&) const;
166 
169  virtual void invokeChildAddedCallbacks(
170  const DtUUID&) const;
171 
174  virtual void invokeChildRemovedCallbacks(
175  const DtUUID&) const;
176 
178  void removeAllSubordinatesChangedCallbacks();
179 
180 protected:
182  DtList myChildList;
184  DtEntityIdentifier myEntityIdentifier;
186 
188  std::list<DtOrgNodeCallbackInfo> myChildAddedCallbackList;
189  std::list<DtOrgNodeCallbackInfo> myChildRemovedCallbackList;
190 
192 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)