VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
aggregateNode.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
14 #include "vrfutil/rwUUID.h"
15 #include <vlpi/entityIdentifier.h>
16 #include <vlutil/vlSmartPointers.h>
17 #include <list>
20 
21 class DtAggregateNode;
22 class DtAggregateData;
24 
25 typedef DtBoost::shared_ptr<DtAggregateNode> DtAggregateNodePtr;
26 typedef DtBoost::shared_ptr<const DtAggregateNode> DtAggregateNodeConstPtr;
27 typedef std::list<DtAggregateNodePtr> DtAggregateNodeList;
28 typedef DtBoost::shared_ptr<DtAggregateData> DtAggregateDataPtr;
29 typedef DtBoost::shared_ptr<const DtAggregateData> DtAggregateDataConstPtr;
30 
35 {
36 public:
37 
39  typedef DtAggregateData* (*DtAggregateDataCreator)();
40 
41 public:
42 
44  DtAggregateNode(const DtUUID& uuid,
45  DtOrganizationManager& organizationManager);
46 
48  virtual ~DtAggregateNode();
49 
51  virtual void addChild(DtAggregateNodePtr child);
52 
54  const DtAggregateNodeList& childList() const;
55 
57  virtual const DtSharedVrfObjectReference& entity() const;
58 
61  virtual DtAggregateDataPtr data();
62  virtual DtAggregateDataConstPtr data() const;
64 
66  virtual void print() const;
67 
68 public:
69 
74  static void setAggregateDataCreator(DtAggregateDataCreator creator);
75  static DtAggregateDataCreator aggregateDataCreator(void);
77 
80  virtual DtOrgViewManagedObjectListConstPtr taskableSubordinates() const;
81  virtual DtOrgViewManagedObjectListConstPtr ableToMoveSubordinates() const;
82  virtual DtOrgViewManagedObjectListConstPtr allSubordinates() const;
84 
85 private:
86 
88  DtAggregateNode(const DtAggregateNode& orig);
89 
91  DtAggregateNode& operator=(const DtAggregateNode& orig);
92 
93 protected:
94 
97 
100 
104 
105 protected:
106 
109  static DtAggregateDataCreator theAggregateDataCreator;
110 
115 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)