VR-Link API Documentation for HLA 1516
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, bool strictCheckingEnabled=false, 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 processObjects( xmlNode* currentNode );
84 
86  virtual DtFedReadStatus processInteractions( xmlNode* currentNode );
87 
89  virtual DtFedReadStatus parseObjectTree( xmlNode* currentNode,
90  const DtString& parentName );
91 
93  virtual DtFedReadStatus parseAttribute( xmlNode* currentNode,
94  const DtString& parentName );
95 
97  virtual DtFedReadStatus parseAttributeDimensions( xmlNode* currentNode,
98  DtString const& objectClass, DtString const& attribute);
99 
101  virtual DtFedReadStatus parseInteractionTree( xmlNode* currentNode,
102  const DtString& parentName );
103 
105  virtual DtFedReadStatus parseInteractionDimensions( xmlNode *currentNode,
106  DtString const& interactionClass );
107 
109  virtual DtFedReadStatus parseDimensionList( xmlNode* currentNode );
110 
112  virtual DtFedReadStatus parseDimension( xmlNode* currentNode );
113 
115  virtual DtFedReadStatus parseSwitches( xmlNode* currentNode );
116 
118  virtual DtFedReadStatus parseUpdateRates( xmlNode* currentNode );
119 
121  virtual DtFedReadStatus parseParameter( xmlNode* currentNode,
122  const DtString& parentName );
123 
125  virtual DtFedReadStatus parseTransportationTree( xmlNode* currentNode );
126 
128  virtual DtFedReadStatus parseDataTypeTree( xmlNode* currentNode );
129 
131  virtual DtFedReadStatus parseNotesTree( xmlNode* currentNode );
132 
134  virtual DtFedReadStatus parseTagsTree( xmlNode* currentNode );
135 
137  virtual DtFedReadStatus parseBasicDataTypesTree( xmlNode* currentNode );
138 
140  virtual DtFedReadStatus parseSimpleDataTypesTree( xmlNode* currentNode );
141 
143  virtual DtFedReadStatus parseArrayDataTypesTree( xmlNode* currentNode );
144 
146  virtual DtFedReadStatus parseEnumeratedDataTypesTree( xmlNode* currentNode );
147 
149  virtual DtFedReadStatus parseFixedRecordDataTypesTree( xmlNode* currentNode );
150 
152  virtual DtFedReadStatus parseVariantRecordDataTypesTree( xmlNode* currentNode );
153 
155  virtual void appendNodeProperties( xmlNode* currentNode, DtString& output ) const;
156 
158  virtual void appendNodeContent(xmlNode* node, DtString& output) const;
159 
161  virtual bool isBlankText(xmlNode* node) const;
162 
164  virtual const xmlChar* propertyByName( xmlNode* node, const xmlChar *name);
165 
169  virtual bool getPropertyByName( xmlNode* node, const xmlChar *name,
170  DtString& propertyContent);
171 
173  static const xmlChar* childContentByName( xmlNode* node, const xmlChar *name) ;
174 
178  virtual bool getChildContentByName( xmlNode* node, const xmlChar *name,
179  DtString& childContent);
180 
182  virtual DtFedReadStatus getTransportType( xmlNode* currentNode,
183  DtTransportType& transportType );
184 
186  virtual DtFedReadStatus getOrderType( xmlNode* currentNode,
187  DtOrderType& orderType );
188 
189  bool convertStringToULong(std::string numericString,
190  unsigned long& value);
191 #ifdef __sgi__
192  void clipPrefix(std::string& valueSpec, char c);
193 #else
194  template<typename operandType> void clipPrefix(std::string& valueSpec,
195  operandType c);
196 #endif
197 
198 public:
199 
200  static bool isEvolvedFormat(void* fedFilePtr);
201 
202 protected:
203 
205 
206  // Whether or not schema validation should be performed
208 
209 };
210 
211 #ifdef DtUSE_UTILITIES_NAMESPACE
212 }
213 #endif
214 
215 #endif
216 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)