VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
xmlFedReader1516e.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef xmlFedReader1516e_H_
7 #define xmlFedReader1516e_H_
8 
12 
13 #include <stdio.h>
14 #include <string>
15 
16 #include <vlutil/vlFedTarget.h>
17 #include "fedReader.h"
18 #include <vlutil/vlString.h>
19 
20 
21 
23 struct _xmlNode;
24 struct _xmlDoc;
25 typedef unsigned char xmlChar;
26 typedef struct _xmlNode xmlNode;
27 typedef struct _xmlDoc xmlDoc;
28 
29 #ifdef DtUSE_UTILITIES_NAMESPACE
30 namespace DtUSE_UTILITIES_NAMESPACE
31 {
32 #endif
33 
39 {
40 public:
41 
44 
46  virtual ~DtXmlFedReader1516e();
47 
48 private:
49 
52  DtXmlFedReader1516e& operator=( const DtXmlFedReader1516e& );
53 
54 public:
55 
58  virtual DtFedReadStatus readFedFilePtr(FILE* filePointer, DtFedTarget *fedTarget,
59  DtFilename fileName, unsigned int strictCheckingMask=DtFedReadStrictDisabled, bool useDTD=false, bool dontParseSwitches=false );
60 
62  virtual void setSchemaValidationEnabled(bool enabled);
63 
64 protected:
65 
67  virtual bool schemaValidate(xmlDoc* pDoc, const char * schemaFile);
68 
70  virtual DtFedReadStatus openFile(const char *fedFileName,
71  xmlDoc **newXmlDocTree);
72 
74  static xmlNode* getNodeByName( xmlNode* currentNode,
75  const xmlChar* nodeName );
77  virtual DtFedReadStatus processFed( xmlNode* fedObj );
78 
80  virtual DtFedReadStatus parseTransportationsList( xmlNode* currentNode );
81 
83  virtual DtFedReadStatus processModelIdentification( xmlNode* currentNode );
84 
86  virtual DtFedReadStatus processObjects( xmlNode* currentNode );
87 
89  virtual DtFedReadStatus processInteractions( xmlNode* currentNode );
90 
92  virtual DtFedReadStatus parseObjectTree( xmlNode* currentNode,
93  const DtString& parentName );
94 
96  virtual DtFedReadStatus parseAttribute( xmlNode* currentNode,
97  const DtString& parentName );
98 
100  virtual DtFedReadStatus parseAttributeDimensions( xmlNode* currentNode,
101  DtString const& objectClass, DtString const& attribute);
102 
104  virtual DtFedReadStatus parseInteractionTree( xmlNode* currentNode,
105  const DtString& parentName );
106 
108  virtual DtFedReadStatus parseInteractionDimensions( xmlNode *currentNode,
109  DtString const& interactionClass );
110 
112  virtual DtFedReadStatus parseDimensionList( xmlNode* currentNode );
113 
115  virtual DtFedReadStatus parseDimension( xmlNode* currentNode );
116 
118  virtual DtFedReadStatus parseSwitches( xmlNode* currentNode );
119 
121  virtual DtFedReadStatus parseUpdateRates( xmlNode* currentNode );
122 
124  virtual DtFedReadStatus parseParameter( xmlNode* currentNode,
125  const DtString& parentName );
126 
128  virtual DtFedReadStatus parseTransportationTree( xmlNode* currentNode );
129 
131  virtual DtFedReadStatus parseDataTypeTree( xmlNode* currentNode );
132 
134  virtual DtFedReadStatus parseNotesTree( xmlNode* currentNode );
135 
137  virtual DtFedReadStatus parseTagsTree( xmlNode* currentNode );
138 
140  virtual DtFedReadStatus parseBasicDataTypesTree( xmlNode* currentNode );
141 
143  virtual DtFedReadStatus parseSimpleDataTypesTree( xmlNode* currentNode );
144 
146  virtual DtFedReadStatus parseArrayDataTypesTree( xmlNode* currentNode );
147 
149  virtual DtFedReadStatus parseEnumeratedDataTypesTree( xmlNode* currentNode );
150 
152  virtual DtFedReadStatus parseFixedRecordDataTypesTree( xmlNode* currentNode );
153 
155  virtual DtFedReadStatus parseVariantRecordDataTypesTree( xmlNode* currentNode );
156 
158  virtual void appendNodeProperties( xmlNode* currentNode, DtString& output ) const;
159 
161  virtual void appendNodeContent(xmlNode* node, DtString& output) const;
162 
164  virtual bool isBlankText(xmlNode* node) const;
165 
167  virtual const xmlChar* propertyByName( xmlNode* node, const xmlChar *name);
168 
172  virtual bool getPropertyByName( xmlNode* node, const xmlChar *name,
173  DtString& propertyContent);
174 
176  static const xmlChar* childContentByName( xmlNode* node, const xmlChar *name) ;
177 
181  virtual bool getChildContentByName( xmlNode* node, const xmlChar *name,
182  DtString& childContent);
183 
185  virtual DtFedReadStatus getTransportType( xmlNode* currentNode,
186  DtTransportType& transportType );
187 
189  virtual DtFedReadStatus getOrderType( xmlNode* currentNode,
190  DtOrderType& orderType );
191 
192  bool convertStringToULong(std::string numericString,
193  unsigned long& value);
194 #ifdef __sgi__
195  void clipPrefix(std::string& valueSpec, char c);
196 #else
197  template<typename operandType> void clipPrefix(std::string& valueSpec,
198  operandType c);
199 #endif
200 
201 public:
202 
203  static bool isEvolvedFormat(void* fedFilePtr);
204 
205 protected:
206 
208 
209  // Whether or not schema validation should be performed
211 
212 };
213 
214 #ifdef DtUSE_UTILITIES_NAMESPACE
215 }
216 #endif
217 
218 #endif
219 

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)