![]() |
VR-Link API Documentation for HLA 1516
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00007 #pragma once 00008 00009 #include <omtReader/omtReader.h> 00010 #include <vlutil/vlString.h> 00011 00013 #include <mtl/xmlFedTags.h> 00014 #include <mtl/fedReader.h> 00015 00016 class DtOMTTree; 00017 class DtComplexComponentNode; 00018 class DtEnumerationNode; 00019 class DtAttributeFedNode; 00020 class DtParameterFedNode; 00021 class DtObjectClassFedNode; 00022 class DtInteractionClassFedNode; 00023 class DtFieldComponentNode; 00024 class DtAlternativeComponentNode; 00025 class DtExerciseConn; 00026 00027 class DT_DLL_OMTREADER DtXML1516FileReader 00028 { 00029 00030 public: 00031 00033 DtXML1516FileReader(); 00034 00036 virtual ~DtXML1516FileReader(); 00037 00038 virtual const DtString& getLastError(); 00039 virtual void clearLastError(); 00040 00041 virtual DtOMTTree* processObjectModel(xmlNodePtr& ptr); 00042 00043 protected: 00044 virtual void processName(xmlAttrPtr& ptr, DtOMTTree*); 00045 virtual void processVersionNo(xmlAttrPtr& ptr, DtOMTTree*); 00046 virtual void processType(xmlAttrPtr& ptr, DtOMTTree*); 00047 virtual void processPurpose(xmlAttrPtr& ptr, DtOMTTree*); 00048 virtual void processApplicationDomain(xmlAttrPtr& ptr, DtOMTTree*); 00049 virtual void processSponsorOrgName(xmlAttrPtr& ptr, DtOMTTree*); 00050 virtual void processPOCFirstName(xmlAttrPtr& ptr, DtOMTTree*); 00051 virtual void processPOCOrgName(xmlAttrPtr& ptr, DtOMTTree*); 00052 virtual void processPOCPhone(xmlAttrPtr& ptr, DtOMTTree*); 00053 virtual void processPOCEmail(xmlAttrPtr& ptr, DtOMTTree*); 00054 virtual void processModificationDate(xmlAttrPtr& ptr, DtOMTTree*); 00055 virtual void processReference(xmlAttrPtr& ptr, DtOMTTree*); 00056 virtual void processOther(xmlAttrPtr& ptr, DtOMTTree*); 00057 00058 00059 virtual void processInteractions(xmlNodePtr& ptr, DtOMTTree*); 00060 virtual DtInteractionClassFedNode* processInteractionClass(xmlNodePtr& ptr, DtOMTTree*); 00061 virtual DtAttributeFedNode* processAttribute(xmlNodePtr& ptr, DtObjectClassFedNode* obj); 00062 virtual DtParameterFedNode* processParameter(xmlNodePtr& ptr, DtInteractionClassFedNode* inter); 00063 00064 virtual void processObjects(xmlNodePtr& ptr, DtOMTTree*); 00065 virtual DtObjectClassFedNode* processObjectClass(xmlNodePtr& ptr, DtOMTTree*); 00066 00067 virtual void processNotes(xmlNodePtr& ptr, DtOMTTree*); 00068 virtual void processNote(xmlNodePtr& ptr, DtOMTTree*); 00069 00070 virtual void processDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00071 virtual void processSimpleDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00072 virtual void processSimpleData(xmlNodePtr& ptr, DtOMTTree*); 00073 virtual void processArrayDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00074 virtual void processArrayData(xmlNodePtr& ptr, DtOMTTree*); 00075 virtual void processFixedDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00076 virtual void processFixedData(xmlNodePtr& ptr, DtOMTTree*); 00077 virtual DtFieldComponentNode* processField(xmlNodePtr& ptr); 00078 virtual void processBasicDataReps(xmlNodePtr& ptr, DtOMTTree*); 00079 virtual void processBasicDataRep(xmlNodePtr& ptr, DtOMTTree*); 00080 virtual void processVariantDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00081 virtual void processVariantData(xmlNodePtr& ptr, DtOMTTree*); 00082 virtual DtAlternativeComponentNode* processAlternative(xmlNodePtr& ptr); 00083 virtual void processEnumeratedDatatype(xmlNodePtr& ptr, DtOMTTree*); 00084 virtual DtEnumerationNode* processEnumeration(xmlNodePtr& ptr); 00085 virtual void processEnumerations(xmlNodePtr& ptr, DtOMTTree*); 00086 00087 virtual void processSwitches(xmlNodePtr& ptr, DtOMTTree*); 00088 virtual void processDimensions(xmlNodePtr& ptr, DtOMTTree*); 00089 virtual void processDimension(xmlNodePtr& ptr, DtOMTTree*); 00090 virtual void processTimeRepresentation(xmlNodePtr& ptr, DtOMTTree*); 00091 virtual void processSynchronizations(xmlNodePtr& ptr, DtOMTTree*); 00092 virtual void processSynchronization(xmlNodePtr& ptr, DtOMTTree*); 00093 virtual void processTags(xmlNodePtr& ptr, DtOMTTree*); 00094 virtual void processTag(xmlNodePtr& ptr, DtOMTTree*); 00095 virtual void processTransportations(xmlNodePtr& ptr, DtOMTTree*); 00096 virtual void processTransportation(xmlNodePtr& ptr, DtOMTTree*); 00097 00098 protected: 00099 DtString myLastError; 00100 DtExerciseConn* myExConn; 00101 00102 private: 00103 00105 DtXML1516FileReader(const DtXML1516FileReader& orig); 00106 00108 DtXML1516FileReader& operator=(const DtXML1516FileReader& rhs); 00109 00111 void initializeHandles(DtOMTTree* omtTree); 00112 void setAttributeHandles(DtObjectClassFedNode* objNode); 00113 void setParameterHandles(DtInteractionClassFedNode* objNode); 00114 }; 00115 00116 00117