![]() |
VR-Link API Documentation for HLA 1.3
|
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 DtXMLFileReader 00028 { 00029 00030 public: 00031 00033 DtXMLFileReader(); 00034 00036 virtual ~DtXMLFileReader(); 00037 00041 virtual DtOMTTree* readFile(const DtString& str, 00042 DtExerciseConn* ex); 00043 00044 virtual DtOMTTree* readFiles(const std::vector<DtString>& str, 00045 DtExerciseConn* ex); 00046 00047 virtual const DtString& getLastError(); 00048 virtual void clearLastError(); 00049 00050 protected: 00051 virtual DtFedReadStatus openFile(const char *fedFileName, 00052 xmlDoc **newXmlDocTree); 00053 00054 bool isEvolvedFormat(xmlNodePtr& rootNode); 00055 xmlNode* getNodeByName( xmlNode* rootNode, 00056 const xmlChar* nodeName ); 00057 const xmlChar* childContentByName(xmlNode* node, 00058 const xmlChar *name); 00059 00060 00061 00062 00063 protected: 00064 DtString myLastError; 00065 DtExerciseConn* myExConn; 00066 std::vector<DtOMTTree*> myOMTTrees; 00067 00068 private: 00069 00071 DtXMLFileReader(const DtXMLFileReader& orig); 00072 00074 DtXMLFileReader& operator=(const DtXMLFileReader& rhs); 00075 00077 void buildTree(DtOMTTree* omtTree); 00078 void setAttributeHandles(DtObjectClassFedNode* objNode); 00079 void setParameterHandles(DtInteractionClassFedNode* objNode); 00080 }; 00081 00082 00083