MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
10 
11 #include "complexDatatypeNode.h"
12 #include "enumeratedDatatypeNode.h"
14 #include "objectClassFedNode.h"
15 #include "simpleDatatypeNode.h"
16 #include "arrayDatatypeNode.h"
17 #include "fixedDatatypeNode.h"
18 #include "variantDatatypeNode.h"
20 #include "noteNode.h"
21 #include "boolAttrNode.h"
22 #include "descriptionNode.h"
23 #include "dimensionNode.h"
24 #include "timeRepNode.h"
25 #include "synchroNode.h"
26 #include "tagNode.h"
27 
28 class DtExerciseConn;
29 
30 #include <vlutil/vlString.h>
31 #ifdef DtHLA
32 #include <vl/rtiNamespace.h>
33 #endif
34 #include <list>
36 
38 {
46 };
47 
49 {
52 };
53 
54 class DtUpdateRateNode;
55 
59 {
60 public:
61 
63  DtOMTTree();
64 
66  virtual ~DtOMTTree();
67 
68 
69  virtual void setHlaVersion(DtHLAProtocolVersion version);
70  virtual DtHLAProtocolVersion hlaVersion() const;
71 
72  virtual void setName(const DtString&);
73  virtual const DtString& getName();
74 
75  virtual void setVersionNo(const DtString&);
76  virtual const DtString& getVersionNo();
77 
78  virtual void setType(const DtString&);
79  virtual const DtString& getType();
80 
81  virtual void setPurpose(const DtString&);
82  virtual const DtString& getPurpose();
83 
84  virtual void setApplicationDomain(const DtString&);
85  virtual const DtString& getApplicationDomain();
86 
87  virtual void setSponsorOrgName(const DtString&);
88  virtual const DtString& getSponsorOrgName();
89 
90  virtual void setModificationDate(const DtString&);
91  virtual const DtString& getModificationDate();
92 
93  virtual void setSecurityClassification(const DtString&);
94  virtual const DtString& getSecurityClassification() const;
95 
96  virtual void setReleaseRestriction(const DtString&);
97  virtual const DtString& getReleaseRestriction() const;
98 
99  virtual void setDescription(const DtString&);
100  virtual const DtString& getDescription() const;
101 
102  virtual void setMOMVersion(const DtString&);
103  virtual const DtString& getMOMVersion();
104 
106  virtual void setReference(const DtString&);
107  virtual const DtString& getReference();
108 
110  virtual const std::vector<DtOMTTreeReference>& getReferences() const;
111  virtual void setReferences(const std::vector<DtOMTTreeReference> & s);
112  virtual void addReference(const DtOMTTreeReference & s);
113 
114  virtual void setOther(const DtString&);
115  virtual const DtString& getOther();
116 
117  virtual void setUseLimitation(const DtString&);
118  virtual const DtString& getUseLimitation();
119 
120  virtual void setUseHistory(const DtString&);
121  virtual const DtString& getUseHistory();
122 
123  virtual void addPOC(const DtOMTTreePOC& poc);
124  virtual void addPOC(const DtString& honorificName,
125  const DtString& firstName, const DtString& LastName,
126  const DtString& orgName, const DtString& phone,
127  const DtString& email, const DtString& poctype);
128  virtual std::list<DtOMTTreePOC>::iterator getPOCList();
129  virtual std::list<DtOMTTreePOC>::iterator getPOCEndNode();
130 
131  virtual void addBasicDataRepresentationNode(DtBasicDataRepresentationNode*);
132  virtual DtBasicDataRepresentationNode* getBasicDataRepresentationNode(const DtString& name);
133  virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationNodeList();
134  virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationEndNode();
135 
136  virtual void addVariantDatatypeNode(DtVariantDatatypeNode*);
137  virtual DtVariantDatatypeNode* getVariantDatatypeNode(const DtString& name);
138  virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeNodeList();
139  virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeEndNode();
140 
141  virtual void addFixedDatatypeNode(DtFixedDatatypeNode*);
142  virtual DtFixedDatatypeNode* getFixedDatatypeNode(const DtString& name);
143  virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeNodeList();
144  virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeEndNode();
145 
146  virtual void addSimpleDatatypeNode(DtSimpleDatatypeNode*);
147  virtual DtSimpleDatatypeNode* getSimpleDatatypeNode(const DtString& name);
148  virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeNodeList();
149  virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeEndNode();
150 
151  virtual void addComplexDatatypeNode(DtComplexDatatypeNode*);
152  virtual DtComplexDatatypeNode* getComplexDatatypeNode(const DtString& name);
153  virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeNodeList();
154  virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeEndNode();
155 
156  virtual void addArrayDatatypeNode(DtArrayDatatypeNode*);
157  virtual DtArrayDatatypeNode* getArrayDatatypeNode(const DtString& name);
158  virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeNodeList();
159  virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeEndNode();
160 
161  virtual void addEnumeratedDatatypeNode(DtEnumeratedDatatypeNode*);
162  virtual DtEnumeratedDatatypeNode* getEnumeratedDatatypeNode(const DtString& name);
163  virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeNodeList();
164  virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeEndNode();
165 
166  virtual void addNoteNode(DtNoteNode*);
167  virtual DtNoteNode* getNoteNode(int val);
168  virtual DtNoteNode* getNoteNode(DtString val);
169  virtual std::list<DtNoteNode*>::iterator getNoteNodeList();
170  virtual std::list<DtNoteNode*>::iterator getNoteEndNode();
171 
172  virtual void addUpdateRateNode(DtUpdateRateNode* node);
173  virtual DtUpdateRateNode* getUpdateRateNode(const DtString& name);
174  virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateNodeList();
175  virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateEndNode();
176 
177 
179 
180  virtual void setObjectClassRoot(DtObjectClassFedNode* node);
181  virtual DtObjectClassFedNode* objectClassRoot();
183 
184  virtual void addObjectClassNode(DtObjectClassFedNode*);
185 #ifdef DtHLA
186  virtual DtObjectClassFedNode* getObjectClassNode(RTI::ObjectClassHandle value);
187 #endif
188 
189  virtual DtObjectClassFedNode* getObjectClassNode(const DtString& name = "");
190  virtual DtObjectClassFedNode* getObjectClassNodeByID(int id);
191  virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeBegin();
192  virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeEnd();
193  virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeRBegin();
194  virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeREnd();
195 
197 
198  virtual void setInteractionClassRoot(DtInteractionClassFedNode* node);
199  virtual DtInteractionClassFedNode* interactionClassRoot();
201 
202  virtual void addInteractionClassNode(DtInteractionClassFedNode*);
203 #ifdef DtHLA
204  virtual DtInteractionClassFedNode* getInteractionClassNode(RTI::InteractionClassHandle value);
205 #endif
206 
207  virtual DtInteractionClassFedNode* getInteractionClassNode(const DtString& name = "");
208  virtual DtInteractionClassFedNode* getInteractionClassNodeByID(int id);
209  virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeBegin();
210  virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeEnd();
211  virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeRBegin();
212  virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeREnd();
213 
214  virtual void addSwitchNode(DtBoolAttrNode*);
215  virtual DtBoolAttrNode* getSwitchNode(const DtString& name);
216  virtual std::list<DtBoolAttrNode*>::iterator getSwitchNodeList();
217  virtual std::list<DtBoolAttrNode*>::iterator getSwitchEndNode();
218 
219  virtual void addTransportationNode(DtDescriptionNode*);
220  virtual DtDescriptionNode* getTransportationNode(const DtString& name);
221  virtual std::list<DtDescriptionNode*>::iterator getTransportationNodeList();
222  virtual std::list<DtDescriptionNode*>::iterator getTransportationEndNode();
223 
224  virtual void addDimensionNode(DtDimensionNode*);
225  virtual DtDimensionNode* getDimensionNode(const DtString& name);
226  virtual std::list<DtDimensionNode*>::iterator getDimensionNodeList();
227  virtual std::list<DtDimensionNode*>::iterator getDimensionEndNode();
228 
229  virtual void addSynchroNode(DtSynchroNode*);
230  virtual DtSynchroNode* getSynchroNode(const DtString& name);
231  virtual std::list<DtSynchroNode*>::iterator getSynchroNodeList();
232  virtual std::list<DtSynchroNode*>::iterator getSynchroEndNode();
233 
234  virtual void addTagNode(DtTagNode*);
235  virtual DtTagNode* getTagNode(const DtString& name);
236  virtual std::list<DtTagNode*>::iterator getTagNodeList();
237  virtual std::list<DtTagNode*>::iterator getTagEndNode();
238 
239  virtual DtTimeRepNode* getTimeRepNode();
240 
241  virtual void merge(DtOMTTree* mergeTree);
242 
243 protected:
248  virtual DtObjectClassFedNode* mergeObjectNode(const DtObjectClassFedNode& sourceNode);
253  virtual DtInteractionClassFedNode* mergeInteractionNode(const DtInteractionClassFedNode& sourceNode);
254  virtual void mergeModelIdentification(DtOMTTree* mergeTree);
255  virtual void mergeObjects(DtOMTTree* mergeTree);
256  virtual void mergeInteractions(DtOMTTree* mergeTree);
257  virtual void mergeDatatypes(DtOMTTree* mergeTree);
258  virtual void mergeDimensions(DtOMTTree* mergTree);
259  virtual void mergeNotes(DtOMTTree* mergeTree);
260  virtual void mergeSyncPoints(DtOMTTree* mergeTree);
261  virtual void mergeTransportations(DtOMTTree* mergeTree);
262  virtual void mergeUpdateRates(DtOMTTree* mergeTree);
263  virtual void mergeTags(DtOMTTree* mergeTree);
264  virtual void mergeSwitches(DtOMTTree* mergeTree);
265 
266 protected:
267  std::list<DtNoteNode*> myNoteNodes;
268  std::list<DtObjectClassFedNode*> myObjectClassNodes;
269  std::list<DtInteractionClassFedNode*> myInteractionClassNodes;
270  std::list<DtComplexDatatypeNode*> myComplexDatatypeNodes;
271  std::list<DtEnumeratedDatatypeNode*> myEnumeratedDatatypeNodes;
272 
273  //1516 only tables
274  std::list<DtBasicDataRepresentationNode*> myBasicDataRepresentationNodes;
275  std::list<DtSimpleDatatypeNode*> mySimpleDatatypeNodes;
276  std::list<DtArrayDatatypeNode*> myArrayDatatypeNodes;
277  std::list<DtFixedDatatypeNode*> myFixedDatatypeNodes;
278  std::list<DtVariantDatatypeNode*> myVariantDatatypeNodes;
279  std::list<DtBoolAttrNode*> mySwitchNodes;
280  std::list<DtDescriptionNode*> myTransportationNodes;
281  std::list<DtDimensionNode*> myDimensionNodes;
282  std::list<DtSynchroNode*> mySynchroNodes;
283  std::list<DtTagNode*> myTagNodes;
284 
286  std::list<DtUpdateRateNode*> myUpdateRateNodes;
287 
289 
292 
308 
309  std::list<DtOMTTreePOC> myPOC;
310  std::vector<DtOMTTreeReference> myReferences;
312 
313 };
314 
315 
316 
317 

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)