VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
162  virtual int indexOfChild(const DtUUID&) const;
163 
164 protected:
165 
167  virtual void invokeSubordinatesChangedCallbacks(
168  const DtUUID&) const;
169 
172  virtual void invokeChildAddedCallbacks(
173  const DtUUID&) const;
174 
177  virtual void invokeChildRemovedCallbacks(
178  const DtUUID&) const;
179 
181  void removeAllSubordinatesChangedCallbacks();
182 
184  virtual void childAdded(DtOrganizationManagerNode*);
185 
187  virtual void childRemoved(const DtOrganizationManagerNode*);
188 
189 protected:
191  DtList myChildList;
193  DtEntityIdentifier myEntityIdentifier;
195 
197  std::list<DtOrgNodeCallbackInfo> myChildAddedCallbackList;
198  std::list<DtOrgNodeCallbackInfo> myChildRemovedCallbackList;
199 
201 
202  mutable std::map<DtUUID, int> myChildOrder;
203 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)