![]() |
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 DtXMLEvolvedFileReader 00028 { 00029 00030 public: 00031 00033 DtXMLEvolvedFileReader(); 00034 00036 virtual ~DtXMLEvolvedFileReader(); 00037 00038 virtual const DtString& getLastError(); 00039 virtual void clearLastError(); 00040 00041 virtual DtOMTTree* processObjectModel(xmlNodePtr& ptr); 00042 00043 protected: 00044 virtual void processName(xmlNodePtr& ptr, DtOMTTree*); 00045 virtual void processVersionNo(xmlNodePtr& ptr, DtOMTTree*); 00046 virtual void processType(xmlNodePtr& ptr, DtOMTTree*); 00047 virtual void processPurpose(xmlNodePtr& ptr, DtOMTTree*); 00048 virtual void processApplicationDomain(xmlNodePtr& ptr, DtOMTTree*); 00049 virtual void processSponsorOrgName(xmlAttrPtr& ptr, DtOMTTree*); 00050 virtual void processPOCFirstName(xmlNodePtr& ptr, DtOMTTree*); 00051 virtual void processPOCOrgName(xmlNodePtr& ptr, DtOMTTree*); 00052 virtual void processPOCPhone(xmlNodePtr& ptr, DtOMTTree*); 00053 virtual void processPOCEmail(xmlNodePtr& ptr, DtOMTTree*); 00054 virtual void processModificationDate(xmlNodePtr& ptr, DtOMTTree*); 00055 virtual void processSecurityClassification(xmlNodePtr& ptr, DtOMTTree*); 00056 virtual void processReleaseRestriction(xmlNodePtr& ptr, DtOMTTree*); 00057 virtual void processDescription(xmlNodePtr& ptr, DtOMTTree*); 00058 virtual void processReference(xmlAttrPtr& ptr, DtOMTTree*); 00059 virtual void processOther(xmlAttrPtr& ptr, DtOMTTree*); 00060 00061 virtual void processPoc(xmlNodePtr& ptr, DtOMTTree*); 00062 00063 virtual void processInteractions(xmlNodePtr& ptr, DtOMTTree*); 00064 virtual DtInteractionClassFedNode* processInteractionClass(xmlNodePtr& ptr, DtOMTTree*); 00065 virtual DtAttributeFedNode* processAttribute(xmlNodePtr& ptr, DtObjectClassFedNode* obj); 00066 virtual DtParameterFedNode* processParameter(xmlNodePtr& ptr, DtInteractionClassFedNode* inter); 00067 00068 virtual void processObjects(xmlNodePtr& ptr, DtOMTTree*); 00069 virtual DtObjectClassFedNode* processObjectClass(xmlNodePtr& ptr, DtOMTTree*); 00070 00071 virtual void processNotes(xmlNodePtr& ptr, DtOMTTree*); 00072 virtual void processNote(xmlNodePtr& ptr, DtOMTTree*); 00073 00074 virtual void processUpdateRates(xmlNodePtr& ptr, DtOMTTree*); 00075 virtual void processUpdateRate(xmlNodePtr& ptr, DtOMTTree*); 00076 00077 virtual void processDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00078 virtual void processSimpleDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00079 virtual void processSimpleData(xmlNodePtr& ptr, DtOMTTree*); 00080 virtual void processArrayDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00081 virtual void processArrayData(xmlNodePtr& ptr, DtOMTTree*); 00082 virtual void processFixedDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00083 virtual void processFixedData(xmlNodePtr& ptr, DtOMTTree*); 00084 virtual DtFieldComponentNode* processField(xmlNodePtr& ptr); 00085 virtual void processBasicDataReps(xmlNodePtr& ptr, DtOMTTree*); 00086 virtual void processBasicDataRep(xmlNodePtr& ptr, DtOMTTree*); 00087 virtual void processVariantDatatypes(xmlNodePtr& ptr, DtOMTTree*); 00088 virtual void processVariantData(xmlNodePtr& ptr, DtOMTTree*); 00089 virtual DtAlternativeComponentNode* processAlternative(xmlNodePtr& ptr); 00090 virtual void processEnumeratedDatatype(xmlNodePtr& ptr, DtOMTTree*); 00091 virtual DtEnumerationNode* processEnumeration(xmlNodePtr& ptr); 00092 virtual void processEnumerations(xmlNodePtr& ptr, DtOMTTree*); 00093 00094 virtual void processSwitches(xmlNodePtr& ptr, DtOMTTree*); 00095 virtual void processDimensions(xmlNodePtr& ptr, DtOMTTree*); 00096 virtual void processDimension(xmlNodePtr& ptr, DtOMTTree*); 00097 virtual void processTimeRepresentation(xmlNodePtr& ptr, DtOMTTree*); 00098 virtual void processSynchronizations(xmlNodePtr& ptr, DtOMTTree*); 00099 virtual void processSynchronization(xmlNodePtr& ptr, DtOMTTree*); 00100 virtual void processTags(xmlNodePtr& ptr, DtOMTTree*); 00101 virtual void processTag(xmlNodePtr& ptr, DtOMTTree*); 00102 virtual void processTransportations(xmlNodePtr& ptr, DtOMTTree*); 00103 virtual void processTransportation(xmlNodePtr& ptr, DtOMTTree*); 00104 00106 virtual void processModelIdentification(xmlNodePtr& ptr, DtOMTTree*); 00107 00108 protected: 00109 DtString myLastError; 00110 DtExerciseConn* myExConn; 00111 00112 private: 00113 00115 DtXMLEvolvedFileReader(const DtXMLEvolvedFileReader& orig); 00116 00118 DtXMLEvolvedFileReader& operator=(const DtXMLEvolvedFileReader& rhs); 00119 00121 void initializeHandles(DtOMTTree* omtTree); 00122 void setAttributeHandles(DtObjectClassFedNode* objNode); 00123 void setParameterHandles(DtInteractionClassFedNode* objNode); 00124 }; 00125 00126 00127