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 
47  DtAggregateNode(DtOrganizationManager& organizationManager);
48 
50  virtual ~DtAggregateNode();
51 
53  virtual void addChild(DtAggregateNodePtr child);
54 
56  const DtAggregateNodeList& childList() const;
57 
59  virtual const DtSharedVrfObjectReference& entity() const;
60 
63  virtual DtAggregateDataPtr data();
64  virtual DtAggregateDataConstPtr data() const;
66 
68  virtual void print() const;
69 
70 public:
71 
76  static void setAggregateDataCreator(DtAggregateDataCreator creator);
77  static DtAggregateDataCreator aggregateDataCreator(void);
79 
82  virtual DtOrgViewManagedObjectListConstPtr taskableSubordinates() const;
83  virtual DtOrgViewManagedObjectListConstPtr ableToMoveSubordinates() const;
84  virtual DtOrgViewManagedObjectListConstPtr allSubordinates() const;
86 
88  bool isAggregate() const { return myIsAggregate; };
89 private:
90 
92  DtAggregateNode(const DtAggregateNode& orig);
93 
95  DtAggregateNode& operator=(const DtAggregateNode& orig);
96 
97 protected:
98 
101 
104 
108 
109 protected:
110 
113  static DtAggregateDataCreator theAggregateDataCreator;
114 
119 
121 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)