MAK Data Logger API Documentation for DIS
omtTree.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
7 #pragma once
8 
9 #include "complexDatatypeNode.h"
10 #include "enumeratedDatatypeNode.h"
12 #include "objectClassFedNode.h"
13 #include "simpleDatatypeNode.h"
14 #include "arrayDatatypeNode.h"
15 #include "fixedDatatypeNode.h"
16 #include "variantDatatypeNode.h"
18 #include "noteNode.h"
19 #include "boolAttrNode.h"
20 #include "descriptionNode.h"
21 #include "dimensionNode.h"
22 #include "timeRepNode.h"
23 #include "synchroNode.h"
24 #include "tagNode.h"
25 
26 class DtExerciseConn;
27 
28 #include <vlutil/vlString.h>
29 #include <vl/rtiNamespace.h>
30 
31 #include <list>
32 
33 class DtUpdateRateNode;
34 
38 {
39 public:
40 
42  DtOMTTree();
43 
45  virtual ~DtOMTTree();
46 
47 
48  virtual void setName(const DtString&);
49  virtual const DtString& getName();
50 
51  virtual void setVersionNo(const DtString&);
52  virtual const DtString& getVersionNo();
53 
54  virtual void setType(const DtString&);
55  virtual const DtString& getType();
56 
57  virtual void setPurpose(const DtString&);
58  virtual const DtString& getPurpose();
59 
60  virtual void setApplicationDomain(const DtString&);
61  virtual const DtString& getApplicationDomain();
62 
63  virtual void setSponsorOrgName(const DtString&);
64  virtual const DtString& getSponsorOrgName();
65 
66  virtual void setPOCHonorificName(const DtString&);
67  virtual const DtString& getPOCHonorificName();
68 
69  virtual void setPOCFirstName(const DtString&);
70  virtual const DtString& getPOCFirstName();
71 
72  virtual void setPOCLastName(const DtString&);
73  virtual const DtString& getPOCLastName();
74 
75  virtual void setPOCOrgName(const DtString&);
76  virtual const DtString& getPOCOrgName();
77 
78  virtual void setPOCPhone(const DtString&);
79  virtual const DtString& getPOCPhone();
80 
81  virtual void setPOCEmail(const DtString&);
82  virtual const DtString& getPOCEmail();
83 
84  virtual void setModificationDate(const DtString&);
85  virtual const DtString& getModificationDate();
86 
87  virtual void setSecurityClassification(const DtString&);
88  virtual const DtString& getSecurityClassification() const;
89 
90  virtual void setReleaseRestriction(const DtString&);
91  virtual const DtString& getReleaseRestriction() const;
92 
93  virtual void setDescription(const DtString&);
94  virtual const DtString& getDescription() const;
95 
96  virtual void setMOMVersion(const DtString&);
97  virtual const DtString& getMOMVersion();
98 
99  virtual void setReference(const DtString&);
100  virtual const DtString& getReference();
101 
102  virtual void setOther(const DtString&);
103  virtual const DtString& getOther();
104 
105  virtual void addBasicDataRepresentationNode(DtBasicDataRepresentationNode*);
106  virtual DtBasicDataRepresentationNode* getBasicDataRepresentationNode(const DtString& name);
107  virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationNodeList();
108  virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationEndNode();
109 
110  virtual void addVariantDatatypeNode(DtVariantDatatypeNode*);
111  virtual DtVariantDatatypeNode* getVariantDatatypeNode(const DtString& name);
112  virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeNodeList();
113  virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeEndNode();
114 
115  virtual void addFixedDatatypeNode(DtFixedDatatypeNode*);
116  virtual DtFixedDatatypeNode* getFixedDatatypeNode(const DtString& name);
117  virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeNodeList();
118  virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeEndNode();
119 
120  virtual void addSimpleDatatypeNode(DtSimpleDatatypeNode*);
121  virtual DtSimpleDatatypeNode* getSimpleDatatypeNode(const DtString& name);
122  virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeNodeList();
123  virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeEndNode();
124 
125  virtual void addComplexDatatypeNode(DtComplexDatatypeNode*);
126  virtual DtComplexDatatypeNode* getComplexDatatypeNode(const DtString& name);
127  virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeNodeList();
128  virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeEndNode();
129 
130  virtual void addArrayDatatypeNode(DtArrayDatatypeNode*);
131  virtual DtArrayDatatypeNode* getArrayDatatypeNode(const DtString& name);
132  virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeNodeList();
133  virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeEndNode();
134 
135  virtual void addEnumeratedDatatypeNode(DtEnumeratedDatatypeNode*);
136  virtual DtEnumeratedDatatypeNode* getEnumeratedDatatypeNode(const DtString& name);
137  virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeNodeList();
138  virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeEndNode();
139 
140  virtual void addNoteNode(DtNoteNode*);
141  virtual DtNoteNode* getNoteNode(int val);
142  virtual std::list<DtNoteNode*>::iterator getNoteNodeList();
143  virtual std::list<DtNoteNode*>::iterator getNoteEndNode();
144 
145  virtual void addUpdateRateNode(DtUpdateRateNode* node);
146  virtual DtUpdateRateNode* getUpdateRateNode(const DtString& name);
147  virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateNodeList();
148  virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateEndNode();
149 
150 
152 
153  virtual void setObjectClassRoot(DtObjectClassFedNode* node);
154  virtual DtObjectClassFedNode* objectClassRoot();
156 
157  virtual void addObjectClassNode(DtObjectClassFedNode*);
158 #ifdef DtHLA
159  virtual DtObjectClassFedNode* getObjectClassNode(RTI::ObjectClassHandle value);
160 #endif
161 
162  virtual DtObjectClassFedNode* getObjectClassNode(const DtString& name = "");
163  virtual DtObjectClassFedNode* getObjectClassNodeByID(int id);
164  virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeBegin();
165  virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeEnd();
166  virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeRBegin();
167  virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeREnd();
168 
170 
171  virtual void setInteractionClassRoot(DtInteractionClassFedNode* node);
172  virtual DtInteractionClassFedNode* interactionClassRoot();
174 
175  virtual void addInteractionClassNode(DtInteractionClassFedNode*);
176 #ifdef DtHLA
177  virtual DtInteractionClassFedNode* getInteractionClassNode(RTI::InteractionClassHandle value);
178 #endif
179 
180  virtual DtInteractionClassFedNode* getInteractionClassNode(const DtString& name = "");
181  virtual DtInteractionClassFedNode* getInteractionClassNodeByID(int id);
182  virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeBegin();
183  virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeEnd();
184  virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeRBegin();
185  virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeREnd();
186 
187  virtual void addSwitchNode(DtBoolAttrNode*);
188  virtual DtBoolAttrNode* getSwitchNode(const DtString& name);
189  virtual std::list<DtBoolAttrNode*>::iterator getSwitchNodeList();
190  virtual std::list<DtBoolAttrNode*>::iterator getSwitchEndNode();
191 
192  virtual void addTransportationNode(DtDescriptionNode*);
193  virtual DtDescriptionNode* getTransportationNode(const DtString& name);
194  virtual std::list<DtDescriptionNode*>::iterator getTransportationNodeList();
195  virtual std::list<DtDescriptionNode*>::iterator getTransportationEndNode();
196 
197  virtual void addDimensionNode(DtDimensionNode*);
198  virtual DtDimensionNode* getDimensionNode(const DtString& name);
199  virtual std::list<DtDimensionNode*>::iterator getDimensionNodeList();
200  virtual std::list<DtDimensionNode*>::iterator getDimensionEndNode();
201 
202  virtual void addSynchroNode(DtSynchroNode*);
203  virtual DtSynchroNode* getSynchroNode(const DtString& name);
204  virtual std::list<DtSynchroNode*>::iterator getSynchroNodeList();
205  virtual std::list<DtSynchroNode*>::iterator getSynchroEndNode();
206 
207  virtual void addTagNode(DtTagNode*);
208  virtual DtTagNode* getTagNode(const DtString& name);
209  virtual std::list<DtTagNode*>::iterator getTagNodeList();
210  virtual std::list<DtTagNode*>::iterator getTagEndNode();
211 
212  virtual DtTimeRepNode* getTimeRepNode();
213 
214  virtual void merge(DtOMTTree* mergeTree);
215 
216 protected:
221  virtual DtObjectClassFedNode* mergeObjectNode(const DtObjectClassFedNode& sourceNode);
226  virtual DtInteractionClassFedNode* mergeInteractionNode(const DtInteractionClassFedNode& sourceNode);
227  virtual void mergeObjects(DtOMTTree* mergeTree);
228  virtual void mergeInteractions(DtOMTTree* mergeTree);
229  virtual void mergeDatatypes(DtOMTTree* mergeTree);
230  virtual void mergeDimensions(DtOMTTree* mergTree);
231  virtual void mergeNotes(DtOMTTree* mergeTree);
232  virtual void mergeSyncPoints(DtOMTTree* mergeTree);
233  virtual void mergeTransportations(DtOMTTree* mergeTree);
234  virtual void mergeUpdateRates(DtOMTTree* mergeTree);
235 
236 protected:
237  std::list<DtNoteNode*> myNoteNodes;
238  std::list<DtObjectClassFedNode*> myObjectClassNodes;
239  std::list<DtInteractionClassFedNode*> myInteractionClassNodes;
240  std::list<DtComplexDatatypeNode*> myComplexDatatypeNodes;
241  std::list<DtEnumeratedDatatypeNode*> myEnumeratedDatatypeNodes;
242 
243  //1516 only tables
244  std::list<DtBasicDataRepresentationNode*> myBasicDataRepresentationNodes;
245  std::list<DtSimpleDatatypeNode*> mySimpleDatatypeNodes;
246  std::list<DtArrayDatatypeNode*> myArrayDatatypeNodes;
247  std::list<DtFixedDatatypeNode*> myFixedDatatypeNodes;
248  std::list<DtVariantDatatypeNode*> myVariantDatatypeNodes;
249  std::list<DtBoolAttrNode*> mySwitchNodes;
250  std::list<DtDescriptionNode*> myTransportationNodes;
251  std::list<DtDimensionNode*> myDimensionNodes;
252  std::list<DtSynchroNode*> mySynchroNodes;
253  std::list<DtTagNode*> myTagNodes;
254 
256  std::list<DtUpdateRateNode*> myUpdateRateNodes;
257 
259 
262 
263  DtString myName;
264  DtString myVersionNo;
265  DtString myType;
266  DtString myPurpose;
270  DtString myPOCFirstName;
271  DtString myPOCLastName;
272  DtString myPOCOrgName;
273  DtString myPOCPhone;
274  DtString myPOCEmail;
278  DtString myDescription;
279  DtString myMOMVersion;
280  DtString myReference;
281  DtString myOther;
282 
283 };
284 
285 

Document ID: Generated on Mon Jan 19 08:20:14 EST 2015 from SVN revision 149581
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)