VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fedReader1516.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: rtiXmlFedReader.h,v $ $Revision: 1.12 $ $State: Exp $
7 *******************************************************************************/
10 
11 #ifndef DtFedReader1516_H_
12 #define DtFedReader1516_H_
13 
14 //#include "rtiMsConfig.h"
15 #include <vlutil/vlFedTarget.h>
16 #include "fedTargetHelper.h"
17 #include <vlutil/vlFilename.h>
18 #include <vlutil/vlString.h>
19 #include "fedReader.h"
20 #include "xmlFedTags.h"
21 #include <set>
22 #include <map>
23 
25 struct _xmlNode;
26 struct _xmlDoc;
27 typedef unsigned char xmlChar;
28 typedef struct _xmlNode xmlNode;
29 typedef struct _xmlDoc xmlDoc;
30 
31 #ifdef DtUSE_UTILITIES_NAMESPACE
32 namespace DtUSE_UTILITIES_NAMESPACE
33 {
34 #endif
35 
36 
42 {
43 public:
45  virtual ~DtFedReader1516();
46 
47 private:
48 
51  DtFedReader1516& operator=( const DtFedReader1516& );
52 
53 public:
54 
56  virtual bool dtdValidate(xmlDoc* pDoc, const char * dtdFile);
57 
60  virtual DtFedReadStatus readFedFilePtr(FILE* filePointer, DtFedTarget *fedTarget,
61  DtFilename fileName, unsigned int strictCheckingMask=DtFedReadStrictDisabled, bool useDTD=false, bool dontParseSwitches=false );
62 
63  virtual DtFedReadStatus processXmlDocPtr( xmlDocPtr xmlDocument ) ;
64  DtFedReadStatus parseTimeTree( xmlNode* currentNode );
65  DtFedReadStatus parseSynchronizationsTree( xmlNode* currentNode );
66 
67  DtFedReadStatus getSharingType( xmlNode* currentNode, DtSharingType& sharingType );
68  DtFedReadStatus getSemantics( xmlNode* currentNode, DtString& semanticsVal );
69  DtFedReadStatus getNotes( xmlNode* currentNode, DtString& notesVal );
70  DtFedReadStatus getOwnershipType( xmlNode* currentNode, DtOwnershipType& ownershipVal );
71  DtFedReadStatus getUpdateCondition( xmlNode* currentNode, DtString& updateConditionVal );
72  DtFedReadStatus getUpdateType( xmlNode* currentNode, DtFomUpdateType& updateTypeVal );
73 
74 
75  /* Inherited from previous VR-Link class: */
76 
78  virtual xmlNode* getNodeByName( xmlNode* currentNode,
79  const xmlChar* nodeName );
81  virtual DtFedReadStatus processFed( xmlNode* fedObj );
82 
85  virtual DtFedReadStatus parseTransportationsList( xmlNode* currentNode );
86 
88  virtual DtFedReadStatus processObjects( xmlNode* currentNode );
89 
91  virtual DtFedReadStatus processInteractions( xmlNode* currentNode );
92 
94  virtual DtFedReadStatus parseObjectTree( xmlNode* currentNode,
95  const DtString& parentName );
96 
98  virtual DtFedReadStatus parseAttribute( xmlNode* currentNode,
99  const DtString& parentName );
100 
102  virtual DtFedReadStatus parseAttributeDimensions( xmlNode* currentNode,
103  DtString const& objectClass, DtString const& attribute);
104 
106  virtual DtFedReadStatus parseInteractionTree( xmlNode* currentNode,
107  const DtString& parentName );
108 
110  virtual DtFedReadStatus parseInteractionDimensions( xmlNode *currentNode,
111  DtString const& interactionClass );
112 
114  virtual DtFedReadStatus parseDimensionList( xmlNode* currentNode );
115 
117  virtual DtFedReadStatus parseDimension( xmlNode* currentNode );
118 
120  virtual DtFedReadStatus parseSwitches( xmlNode* currentNode );
121 
123  virtual DtFedReadStatus parseParameter( xmlNode* currentNode,
124  const DtString& parentName );
125 
127  virtual DtFedReadStatus parseDataTypeTree( xmlNode* currentNode );
128 
130  virtual DtFedReadStatus parseNotesTree( xmlNode* currentNode );
131 
133  virtual DtFedReadStatus parseTagsTree( xmlNode* currentNode );
134 
136  virtual DtFedReadStatus parseBasicDataTypesTree( xmlNode* currentNode );
137 
139  virtual DtFedReadStatus parseSimpleDataTypesTree( xmlNode* currentNode );
140 
142  virtual DtFedReadStatus parseArrayDataTypesTree( xmlNode* currentNode );
143 
145  virtual DtFedReadStatus parseEnumeratedDataTypesTree( xmlNode* currentNode );
146 
148  virtual DtFedReadStatus parseFixedRecordDataTypesTree( xmlNode* currentNode );
149 
151  virtual DtFedReadStatus parseVariantRecordDataTypesTree( xmlNode* currentNode );
152 
154  virtual void appendNodeProperties(xmlNode* currentNode, DtString& output) const;
155 
157  virtual void appendNodeContent(xmlNode* node, DtString& output) const;
158 
160  virtual bool isBlankText(xmlNode* node) const;
161 
163  virtual const xmlChar* propertyByName( xmlNode* node, const xmlChar *name);
164 
168  virtual bool getPropertyByName( xmlNode* node, const xmlChar *name,
169  DtString& propertyContent);
170 
172  virtual DtFedReadStatus getTransportType( xmlNode* currentNode,
173  DtTransportType& transportType );
174 
176  virtual DtFedReadStatus getOrderType( xmlNode* currentNode,
177  DtOrderType& orderType );
178 
179  bool convertStringToULong(std::string numericString,
180  unsigned long& value);
181 #ifdef __sgi__
182  void clipPrefix(std::string& valueSpec, char c);
183 #else
184  template<typename operandType> void clipPrefix(std::string& valueSpec,
185  operandType c);
186 #endif
187 
188 protected:
189 
191 
195 
196 };
197 
198 #ifdef DtUSE_UTILITIES_NAMESPACE
199 }
200 #endif
201 
202 #endif

Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)