VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fedReader1516e.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 #ifndef fedReader1516e_h__
6 #define fedReader1516e_h__
7 
8 
9 
13 
14 #include "mtl/xmlFedReader.h"
15 
16 
17 #include <vlutil/vlFedTarget.h>
18 #include <vlutil/vlFilename.h>
19 #include <vlutil/vlString.h>
20 
21 #include <libxml/tree.h>
22 
23 #include <stdio.h>
24 #include <string>
25 #include <set>
26 #include <map>
27 
29 struct _xmlNode;
30 struct _xmlDoc;
31 typedef unsigned char xmlChar;
32 typedef struct _xmlNode xmlNode;
33 typedef struct _xmlDoc xmlDoc;
34 
35 #ifdef DtUSE_UTILITIES_NAMESPACE
36 namespace DtUSE_UTILITIES_NAMESPACE
37 {
38 #endif
39 
44  {
45  public:
46 
49 
51  virtual ~DtFedReader1516e();
52 
53  private:
54 
56 
58  DtFedReader1516e& operator=( const DtFedReader1516e& );
60 
61  public:
62 
65  virtual DtFedReadStatus readFedFilePtr(FILE* filePointer, DtFedTarget *fedTarget,
66  DtFilename fileName, unsigned int strictCheckingMask=DtFedReadStrictDisabled, bool useDTD=false, bool dontParseSwitches=false );
67 
69  virtual void setSchemaValidationEnabled(bool enabled);
70 
71  protected:
72 
74  virtual DtFedReadStatus processXmlDocPtr( xmlDocPtr xmlDocument ) ;
75 
77  virtual DtFedReadStatus parseTimeTree( xmlNode* currentNode );
78 
80  virtual DtFedReadStatus parseSynchronizationsTree( xmlNode* currentNode );
81 
83  DtFedReadStatus getSharingType( xmlNode* currentNode, DtSharingType& sharingType );
84 
86  DtFedReadStatus getSemantics( xmlNode* currentNode, DtString& semanticsVal );
87 
89  DtFedReadStatus getNotes( xmlNode* currentNode, DtString& notesVal );
90 
92  DtFedReadStatus getOwnershipType(xmlNode* currentNode, DtOwnershipType& ownershipVal);
93 
95  DtFedReadStatus getUpdateCondition( xmlNode* currentNode, DtString& updateConditionVal );
96 
98  DtFedReadStatus getUpdateType( xmlNode* currentNode, DtFomUpdateType& updateTypeVal );
99 
101  virtual bool schemaValidate(xmlDoc* pDoc, const char * schemaFile);
102 
104  virtual DtFedReadStatus processFed( xmlNode* fedObj );
105 
107  virtual DtFedReadStatus parseTransportationsList( xmlNode* currentNode );
108 
110  virtual DtFedReadStatus processModelIdentification( xmlNode* currentNode );
111 
113  virtual DtFedReadStatus processObjects( xmlNode* currentNode );
114 
116  virtual DtFedReadStatus processInteractions( xmlNode* currentNode );
117 
119  virtual DtFedReadStatus parseObjectTree( xmlNode* currentNode, const DtString& parentName );
120 
122  virtual DtFedReadStatus parseObjectDimensions(xmlNode* currentNode, DtString const& objectClass);
123 
125  virtual DtFedReadStatus parseAttribute( xmlNode* currentNode, const DtString& parentName );
126 
128  virtual DtFedReadStatus parseAttributeDimensions( xmlNode* currentNode, DtString const& objectClass,
129  DtString const& attribute);
130 
132  virtual DtFedReadStatus parseInteractionTree( xmlNode* currentNode, const DtString& parentName );
133 
135  virtual DtFedReadStatus parseInteractionDimensions( xmlNode *currentNode, DtString const& interactionClass );
136 
138  virtual DtFedReadStatus parseDimensionList( xmlNode* currentNode );
139 
141  virtual DtFedReadStatus parseDimension( xmlNode* currentNode );
142 
144  virtual DtFedReadStatus parseSwitches( xmlNode* currentNode );
145 
147  virtual DtFedReadStatus parseUpdateRates( xmlNode* currentNode );
148 
150  virtual DtFedReadStatus parseParameter( xmlNode* currentNode, const DtString& parentName );
151 
153  virtual DtFedReadStatus parseDataTypeTree( xmlNode* currentNode );
154 
156  virtual DtFedReadStatus parseDataType(xmlNode* currentNode);
157 
159  virtual DtFedReadStatus parseNotesTree( xmlNode* currentNode );
160 
162  virtual DtFedReadStatus parseTagsTree( xmlNode* currentNode );
163 
165  virtual DtFedReadStatus parseBasicDataTypesTree( xmlNode* currentNode );
166 
168  virtual DtFedReadStatus parseSimpleDataTypesTree( xmlNode* currentNode );
169 
171  virtual DtFedReadStatus parseArrayDataTypesTree( xmlNode* currentNode );
172 
174  virtual DtFedReadStatus parseEnumeratedDataTypesTree( xmlNode* currentNode );
175 
177  virtual DtFedReadStatus parseFixedRecordDataTypesTree( xmlNode* currentNode );
178 
180  virtual DtFedReadStatus parseVariantRecordDataTypesTree( xmlNode* currentNode );
181 
183  virtual void appendNodeProperties( xmlNode* currentNode, DtString& output ) const;
184 
186  virtual void appendNodeContent(xmlNode* node, DtString& output) const;
187 
189  virtual const xmlChar* propertyByName( xmlNode* node, const xmlChar *name);
190 
193  virtual bool getPropertyByName( xmlNode* node, const xmlChar *name, DtString& propertyContent);
194 
196  virtual DtFedReadStatus getTransportType( xmlNode* currentNode, DtTransportType& transportType, DtNamePair nameType,
197  bool isAttribute );
198 
200  virtual DtFedReadStatus getOrderType( xmlNode* currentNode, DtOrderType& orderType );
201 
202  protected:
203 
206  virtual DtFedReadStatus readFedFilePtr(FILE* filePointer, DtFedTarget *fedTarget, DtFilename fileName, DtFomType fomType,
207  unsigned int strictCheckingMask = DtFedReadStrictDisabled, bool useDTD = false, bool dontParseSwitches = false);
208 
209  protected:
210 
211  // Whether or not schema validation should be performed
213 
215 
219 
221 
225 
227 
231 
232  };
233 
234 #ifdef DtUSE_UTILITIES_NAMESPACE
235 }
236 #endif
237 
238 
239 #endif // fedReader1516e_h__
bool myReplacedInteractionRoot
Indicates when federation&#39;s FOM is 1.3 and root name has been replaced to match.
Definition: fedReader1516e.h:217
This file contains the declaration of DtFilename.
struct _xmlNode xmlNode
Definition: fedReader.h:21
enum DtFomUpdateType_enum DtFomUpdateType
Update type for object.
This file declares DtXmlFedReader.
Contains the DtString class declaration.
bool mySchemaValidationEnabled
Definition: fedReader1516e.h:212
unsigned char xmlChar
Definition: fedReader.h:19
Instances of DtXmlFedReader are used to read a FED file, and fill in a DtFedTarget with the informati...
Definition: xmlFedReader.h:38
const xmlChar * myLogicalTimeAttribute
The name of the logical time and logical time interval attributes.
Definition: fedReader1516e.h:228
Definition: fedReader.h:41
DtFedReadStatus
Definition: fedReader.h:31
Instances of DtFedReader1516e are used to read a FED file, and fill in a DtFedTarget with the informa...
Definition: fedReader1516e.h:43
This file contains the declaration of DtFedTarget and several helper classes.
enum DtSharingType_enum DtSharingType
struct _xmlDoc xmlDoc
Definition: fedReader.h:22
class DtFedTarget:
Definition: vlFedTarget.h:124
bool myReplacedObjectRoot
Indicates when federation&#39;s FOM is 1.3 and root name has been replaced to match.
Definition: fedReader1516e.h:216
const xmlChar * myLogicalTimeIntervalAttribute
The name of the logical time and logical time interval attributes.
Definition: fedReader1516e.h:229
Instances of DtFilename are DtStrings which convert filenames to the native format.
Definition: vlFilename.h:20
DtTransportType
Definition: vlFedTarget.h:84
unsigned int myHLAstandardMIM_xml_len
The HLA Standard MIM in a byte array and its length.
Definition: fedReader1516e.h:223
enum DtOwnershipType_enum DtOwnershipType
DtOrderType
Definition: vlFedTarget.h:91
DtFomType
Definition: vlFedTarget.h:42
#define DT_DLL_MTL
Definition: vlMachineTypes.h:106
std::pair< DtString, DtString > DtNamePair
Definition: vlFedTarget.h:32
Instances of DtString are used to represent strings.
Definition: vlString.h:36
char * myHLAstandardMIM_xml
The HLA Standard MIM in a byte array and its length.
Definition: fedReader1516e.h:222

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)