VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtXmlFedReader Class Referenceabstract

Instances of DtXmlFedReader are used to read a FED file, and fill in a DtFedTarget with the information read. More...

+ Inheritance diagram for DtXmlFedReader:
+ Collaboration diagram for DtXmlFedReader:

Public Member Functions

 DtXmlFedReader ()
 Constructor. More...
 
virtual ~DtXmlFedReader ()
 Destructor. More...
 
virtual DtFedReadStatus readFedFilePtr (FILE *filePointer, DtFedTarget *fedTarget, DtFilename fileName, unsigned int strictCheckingMask=DtFedReadStrictDisabled, bool useDTD=false, bool dontParseSwitches=false)=0
 Read the FED file fedFileName, setting values to fedTarget. More...
 
- Public Member Functions inherited from DtFedReader
 DtFedReader ()
 Constructor. More...
 
virtual ~DtFedReader ()
 Destructor. More...
 
virtual DtFedReadStatus readFed (const char *fedFileName, DtFedTarget *fedTarget, unsigned int strictCheckingMask=DtFedReadStrictDisabled, bool useDTD=false, bool dontParseSwitches=false)
 Read the FED file fedFileName, setting values to fedTarget. More...
 
virtual FILE * openFedFileWithErrCheck (const char *fileName, bool isBinary=false)
 get the a file handle to the FED File for reading in text or binary mode More...
 
virtual unsigned int setStrictChecking (unsigned int checkMask)
 Set status of strict checking. More...
 
virtual bool strictChecking (unsigned int checkMask) const
 Returns bool: strictChecking enabled for types of checks provided. More...
 
virtual void setExpectedFomType (DtFomType fomType)
 Set/Get expected FOM type. More...
 
virtual DtFomType expectedFomType () const
 
virtual DtFomType lastFomType () const
 Returns the FOM type of the last FOM read. More...
 
virtual const DtStringlastError () const
 Get the last error. More...
 
char * takeCurrFddData ()
 

Static Public Member Functions

static xmlNodegetNodeByName (xmlNode *currentNode, const xmlChar *nodeName)
 get the specified node More...
 
static const xmlCharchildContentByName (xmlNode *node, const xmlChar *name)
 Return the data for the specified child of the given node. More...
 
static DtFomType fomType (void *fedFilePtr)
 Inspect the file for indicators of what type of FOM file it is (1516, Evolved, 1516_2025, ...) More...
 
static DtFomType fomType (xmlNode *rootNode)
 Inspect the file for indicators of what type of FOM file it is (1516, Evolved, 1516_2025, ...) More...
 
- Static Public Member Functions inherited from DtFedReader
static const DtStringstandardMimFileName (DtFomType fomType)
 Return the standard MIM filename given the FOM type. More...
 
static bool isStandardMimFileName (DtString const &fileName, DtFomType fomType)
 Return true if file is the standard MIM file of the given type. More...
 
static FILE * openFedFile (const char *fileName, bool isBinary=false)
 Open file from name and return FILE*. More...
 
static bool readFileIntoBuffer (FILE *fileHandle, char **fileBuffer, unsigned int *fileSize)
 Read the file from the FILE* into the buffer. More...
 
static DtFomType checkFomType (const char *fedFileName, void *fedFilePtr)
 Get the FOM Type. More...
 
static DtFomType checkFomType (const char *fedFileName)
 Get the FOM Type. More...
 

Protected Member Functions

virtual DtFedReadStatus processFed (xmlNode *fedObj)=0
 process the FED directive More...
 
virtual DtFedReadStatus parseTransportationsList (xmlNode *currentNode)=0
 process the transportations directive More...
 
virtual DtFedReadStatus processObjects (xmlNode *currentNode)=0
 process the Objects directive More...
 
virtual DtFedReadStatus processInteractions (xmlNode *currentNode)=0
 process the Interactions directive More...
 
virtual DtFedReadStatus parseObjectTree (xmlNode *currentNode, const DtString &parentName)=0
 process the list object of classes More...
 
virtual DtFedReadStatus parseAttribute (xmlNode *currentNode, const DtString &parentName)=0
 process an attribute of an object class More...
 
virtual DtFedReadStatus parseAttributeDimensions (xmlNode *currentNode, DtString const &objectClass, DtString const &attribute)=0
 process attribute dimension associations More...
 
virtual DtFedReadStatus parseInteractionTree (xmlNode *currentNode, const DtString &parentName)=0
 process the list of interaction classes More...
 
virtual DtFedReadStatus parseInteractionDimensions (xmlNode *currentNode, DtString const &interactionClass)=0
 process attribute dimension associations More...
 
virtual DtFedReadStatus parseDimensionList (xmlNode *currentNode)=0
 process the list of dimensions More...
 
virtual DtFedReadStatus parseDimension (xmlNode *currentNode)=0
 process a dimension More...
 
virtual DtFedReadStatus parseSwitches (xmlNode *currentNode)=0
 process switches More...
 
virtual DtFedReadStatus parseParameter (xmlNode *currentNode, const DtString &parentName)=0
 process a parameter of an interaction class More...
 
virtual DtFedReadStatus parseTransportationTree (xmlNode *currentNode)
 process the list of transportation classes More...
 
virtual DtFedReadStatus parseDataTypeTree (xmlNode *currentNode)=0
 process the list of datatype classes More...
 
virtual DtFedReadStatus parseNotesTree (xmlNode *currentNode)=0
 process the list of notes classes More...
 
virtual DtFedReadStatus parseTagsTree (xmlNode *currentNode)=0
 process the list of user defined tags. More...
 
virtual DtFedReadStatus parseBasicDataTypesTree (xmlNode *currentNode)=0
 process the list of basic data representations More...
 
virtual DtFedReadStatus parseSimpleDataTypesTree (xmlNode *currentNode)=0
 process the list of simple data types More...
 
virtual DtFedReadStatus parseArrayDataTypesTree (xmlNode *currentNode)=0
 process the list of array data types More...
 
virtual DtFedReadStatus parseEnumeratedDataTypesTree (xmlNode *currentNode)=0
 process the list of enumerated data types More...
 
virtual DtFedReadStatus parseFixedRecordDataTypesTree (xmlNode *currentNode)=0
 process the list of fixed record data types More...
 
virtual DtFedReadStatus parseVariantRecordDataTypesTree (xmlNode *currentNode)=0
 process the list of variant record data types More...
 
virtual void appendNodeProperties (xmlNode *currentNode, DtString &output) const
 Appends the list of properties attached to an XML node to the given string. More...
 
virtual void appendNodeContent (xmlNode *node, DtString &output) const
 Appends the name and content of the given node to the given string. More...
 
virtual bool isBlankText (xmlNode *node) const
 Return true if the node is blank text (space, tab, newline) More...
 
virtual const xmlCharpropertyByName (xmlNode *node, const xmlChar *name)
 Return the data for the specified property of the given node. More...
 
virtual bool getPropertyByName (xmlNode *node, const xmlChar *name, DtString &propertyContent)
 Fill in a string with the data for the specified property of the given node (empty string if property not found) Return true if property is found. More...
 
virtual bool getChildrenContent (xmlNode *node, DtString &content) const
 Get the children content of the given node into the given string. More...
 
virtual DtString childrenContent (xmlNode *node) const
 Return the children content of the given node. More...
 
virtual bool getChildContentByName (xmlNode *node, const xmlChar *name, DtString &childContent)
 Fill in a string with the data for the specified child of the given node (empty string if child not found) Return true if child is found. More...
 
virtual bool convertStringToULong (std::string numericString, unsigned long &value)
 Convert the given string to a long value. More...
 
template<typename stringType , typename charType >
void clipPrefix (stringType &valueSpec, charType c)
 Clip the characters from beginning of string up to the first occurrence of the given character. More...
 
- Protected Member Functions inherited from DtFedReader
void appendErrorLine (xmlNode *node, DtString &output) const
 

Protected Attributes

DtFedTargetmyFedTarget
 
DtFilename myFileBeingRead
 
- Protected Attributes inherited from DtFedReader
DtFedTargetmyFedTarget
 
DtFedReadermyChildReader
 
unsigned int myStrictChecking
 
bool myDontParseSwitchTable
 
DtFomType myExpectedFomType
 When set, the FOM must conform to this type. More...
 
DtFomType myLastFomType
 The type of FOM format that was last read. More...
 
DtString myLastError
 Description of last encountered error. More...
 

Static Protected Attributes

static const DtString theValueObjectRoot
 
static const DtString theValuePrivilegeToDelete
 
static const DtString theValueEnabled
 

Private Member Functions

 DtXmlFedReader (const DtXmlFedReader &)
 Copy constructor and Assignment operator - Unimplemented. More...
 
DtXmlFedReaderoperator= (const DtXmlFedReader &)
 

Additional Inherited Members

- Public Attributes inherited from DtFedReader
char * myCurrFddBuffer
 Buffer containing the most recently read FDD file. More...
 
unsigned int myCurrFddBufferSize
 Size of the buffer for the most recently read FDD file. More...
 
- Static Public Attributes inherited from DtFedReader
static const DtString theHlaEvolvedStandardMimFileName
 
static const DtString theHla4StandardMimFileName
 
static const DtString theInvalidStandardMimFileName
 

Detailed Description

Instances of DtXmlFedReader are used to read a FED file, and fill in a DtFedTarget with the information read.

The FED file must be in a RTI 1516+ XML file format

Constructor & Destructor Documentation

DtXmlFedReader::DtXmlFedReader ( )

Constructor.

virtual DtXmlFedReader::~DtXmlFedReader ( )
virtual

Destructor.

DtXmlFedReader::DtXmlFedReader ( const DtXmlFedReader )
private

Copy constructor and Assignment operator - Unimplemented.

Member Function Documentation

virtual void DtXmlFedReader::appendNodeContent ( xmlNode node,
DtString output 
) const
protectedvirtual

Appends the name and content of the given node to the given string.

Reimplemented in DtFedReader1516e.

virtual void DtXmlFedReader::appendNodeProperties ( xmlNode currentNode,
DtString output 
) const
protectedvirtual

Appends the list of properties attached to an XML node to the given string.

Reimplemented in DtFedReader1516e.

static const xmlChar* DtXmlFedReader::childContentByName ( xmlNode node,
const xmlChar name 
)
static

Return the data for the specified child of the given node.

virtual DtString DtXmlFedReader::childrenContent ( xmlNode node) const
protectedvirtual

Return the children content of the given node.

template<typename stringType , typename charType >
void DtXmlFedReader::clipPrefix ( stringType &  valueSpec,
charType  c 
)
protected

Clip the characters from beginning of string up to the first occurrence of the given character.

virtual bool DtXmlFedReader::convertStringToULong ( std::string  numericString,
unsigned long &  value 
)
protectedvirtual

Convert the given string to a long value.

static DtFomType DtXmlFedReader::fomType ( void *  fedFilePtr)
static

Inspect the file for indicators of what type of FOM file it is (1516, Evolved, 1516_2025, ...)

static DtFomType DtXmlFedReader::fomType ( xmlNode rootNode)
static

Inspect the file for indicators of what type of FOM file it is (1516, Evolved, 1516_2025, ...)

virtual bool DtXmlFedReader::getChildContentByName ( xmlNode node,
const xmlChar name,
DtString childContent 
)
protectedvirtual

Fill in a string with the data for the specified child of the given node (empty string if child not found) Return true if child is found.

virtual bool DtXmlFedReader::getChildrenContent ( xmlNode node,
DtString content 
) const
protectedvirtual

Get the children content of the given node into the given string.

static xmlNode* DtXmlFedReader::getNodeByName ( xmlNode currentNode,
const xmlChar nodeName 
)
static

get the specified node

virtual bool DtXmlFedReader::getPropertyByName ( xmlNode node,
const xmlChar name,
DtString propertyContent 
)
protectedvirtual

Fill in a string with the data for the specified property of the given node (empty string if property not found) Return true if property is found.

Reimplemented in DtFedReader1516e.

virtual bool DtXmlFedReader::isBlankText ( xmlNode node) const
protectedvirtual

Return true if the node is blank text (space, tab, newline)

DtXmlFedReader& DtXmlFedReader::operator= ( const DtXmlFedReader )
private
virtual DtFedReadStatus DtXmlFedReader::parseArrayDataTypesTree ( xmlNode currentNode)
protectedpure virtual

process the list of array data types

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseAttribute ( xmlNode currentNode,
const DtString parentName 
)
protectedpure virtual

process an attribute of an object class

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseAttributeDimensions ( xmlNode currentNode,
DtString const &  objectClass,
DtString const &  attribute 
)
protectedpure virtual

process attribute dimension associations

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseBasicDataTypesTree ( xmlNode currentNode)
protectedpure virtual

process the list of basic data representations

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseDataTypeTree ( xmlNode currentNode)
protectedpure virtual

process the list of datatype classes

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseDimension ( xmlNode currentNode)
protectedpure virtual

process a dimension

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseDimensionList ( xmlNode currentNode)
protectedpure virtual

process the list of dimensions

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseEnumeratedDataTypesTree ( xmlNode currentNode)
protectedpure virtual

process the list of enumerated data types

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseFixedRecordDataTypesTree ( xmlNode currentNode)
protectedpure virtual

process the list of fixed record data types

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseInteractionDimensions ( xmlNode currentNode,
DtString const &  interactionClass 
)
protectedpure virtual

process attribute dimension associations

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseInteractionTree ( xmlNode currentNode,
const DtString parentName 
)
protectedpure virtual

process the list of interaction classes

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseNotesTree ( xmlNode currentNode)
protectedpure virtual

process the list of notes classes

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseObjectTree ( xmlNode currentNode,
const DtString parentName 
)
protectedpure virtual

process the list object of classes

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseParameter ( xmlNode currentNode,
const DtString parentName 
)
protectedpure virtual

process a parameter of an interaction class

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseSimpleDataTypesTree ( xmlNode currentNode)
protectedpure virtual

process the list of simple data types

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseSwitches ( xmlNode currentNode)
protectedpure virtual

process switches

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseTagsTree ( xmlNode currentNode)
protectedpure virtual

process the list of user defined tags.

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseTransportationsList ( xmlNode currentNode)
protectedpure virtual

process the transportations directive

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::parseTransportationTree ( xmlNode currentNode)
protectedvirtual

process the list of transportation classes

virtual DtFedReadStatus DtXmlFedReader::parseVariantRecordDataTypesTree ( xmlNode currentNode)
protectedpure virtual

process the list of variant record data types

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::processFed ( xmlNode fedObj)
protectedpure virtual

process the FED directive

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::processInteractions ( xmlNode currentNode)
protectedpure virtual

process the Interactions directive

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual DtFedReadStatus DtXmlFedReader::processObjects ( xmlNode currentNode)
protectedpure virtual

process the Objects directive

Implemented in DtFedReader1516e, and DtFedReader1516.

virtual const xmlChar* DtXmlFedReader::propertyByName ( xmlNode node,
const xmlChar name 
)
protectedvirtual

Return the data for the specified property of the given node.

Reimplemented in DtFedReader1516e.

virtual DtFedReadStatus DtXmlFedReader::readFedFilePtr ( FILE *  filePointer,
DtFedTarget fedTarget,
DtFilename  fileName,
unsigned int  strictCheckingMask = DtFedReadStrictDisabled,
bool  useDTD = false,
bool  dontParseSwitches = false 
)
pure virtual

Read the FED file fedFileName, setting values to fedTarget.

Note if fedTarget is NULL the fedfile will be read and verified only.

Implements DtFedReader.

Implemented in DtFedReader1516e, DtFedReader1516, and DtFedReader1516_4.

Member Data Documentation

DtFedTarget* DtXmlFedReader::myFedTarget
protected
DtFilename DtXmlFedReader::myFileBeingRead
protected
const DtString DtXmlFedReader::theValueEnabled
staticprotected
const DtString DtXmlFedReader::theValueObjectRoot
staticprotected
const DtString DtXmlFedReader::theValuePrivilegeToDelete
staticprotected

The documentation for this class was generated from the following file:

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)