VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
xmlFedReader.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef xmlFedReader_H_
7 #define xmlFedReader_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 //
22 // //! Forward declarations
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 ~DtXmlFedReader();
47 
48 private:
49 
52  DtXmlFedReader& operator=( const DtXmlFedReader& );
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 
61 
62 
63 
64 protected:
65 
67  virtual bool dtdValidate(xmlDoc* pDoc, const char * dtdFile);
68 
70  virtual DtFedReadStatus openFile(const char *fedFileName,
71  xmlDoc **newXmlDocTree);
72 
74  virtual 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 parseParameter( xmlNode* currentNode,
119  const DtString& parentName );
120 
122  virtual DtFedReadStatus parseTransportationTree( xmlNode* currentNode );
123 
125  virtual DtFedReadStatus parseDataTypeTree( xmlNode* currentNode );
126 
128  virtual DtFedReadStatus parseNotesTree( xmlNode* currentNode );
129 
131  virtual DtFedReadStatus parseTagsTree( xmlNode* currentNode );
132 
134  virtual DtFedReadStatus parseBasicDataTypesTree( xmlNode* currentNode );
135 
137  virtual DtFedReadStatus parseSimpleDataTypesTree( xmlNode* currentNode );
138 
140  virtual DtFedReadStatus parseArrayDataTypesTree( xmlNode* currentNode );
141 
143  virtual DtFedReadStatus parseEnumeratedDataTypesTree( xmlNode* currentNode );
144 
146  virtual DtFedReadStatus parseFixedRecordDataTypesTree( xmlNode* currentNode );
147 
149  virtual DtFedReadStatus parseVariantRecordDataTypesTree( xmlNode* currentNode );
150 
152  virtual void appendNodeProperties(xmlNode* currentNode, DtString& output) const;
153 
155  virtual void appendNodeContent(xmlNode* node, DtString& output) const;
156 
158  virtual bool isBlankText(xmlNode* node) const;
159 
161  virtual const xmlChar* propertyByName( xmlNode* node, const xmlChar *name);
162 
166  virtual bool getPropertyByName( xmlNode* node, const xmlChar *name,
167  DtString& propertyContent);
168 
170  virtual DtFedReadStatus getTransportType( xmlNode* currentNode,
171  DtTransportType& transportType );
172 
174  virtual DtFedReadStatus getOrderType( xmlNode* currentNode,
175  DtOrderType& orderType );
176 
177  bool convertStringToULong(std::string numericString,
178  unsigned long& value);
179 #ifdef __sgi__
180  void clipPrefix(std::string& valueSpec, char c);
181 #else
182  template<typename operandType> void clipPrefix(std::string& valueSpec,
183  operandType c);
184 #endif
185 
186 protected:
187 
189 
190 };
191 
192 #ifdef DtUSE_UTILITIES_NAMESPACE
193 }
194 #endif
195 
196 #endif
197 

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)