Go to the documentation of this file.00001
00002
00003
00004
00007 #pragma once
00008
00009 #include <omtReader.h>
00010 #include <vlutil/vlString.h>
00011 #include <mtl/mtl.h>
00012
00013 class DtOMTTree;
00014 class DtComplexComponentNode;
00015 class DtEnumerationNode;
00016 class DtAttributeFedNode;
00017 class DtParameterFedNode;
00018 class DtExerciseConn;
00019 class DtObjectClassFedNode;
00020 class DtInteractionClassFedNode;
00021
00022 class DT_DLL_OMTREADER DtOMTFileReader
00023 {
00024
00025 public:
00026
00028 DtOMTFileReader();
00029
00031 virtual ~DtOMTFileReader();
00032
00036 virtual DtOMTTree* readFile(const DtString& str, DtExerciseConn* ex = 0);
00037
00038 virtual const DtString& getLastError();
00039 virtual void clearLastError();
00040
00041 protected:
00042
00043 virtual DtOMTTree* processObjectModel(DtlObjPtr& ptr);
00044
00045 virtual void processName(DtlObjPtr& ptr, DtOMTTree*);
00046 virtual void processVersionNo(DtlObjPtr& ptr, DtOMTTree*);
00047 virtual void processType(DtlObjPtr& ptr, DtOMTTree*);
00048 virtual void processPurpose(DtlObjPtr& ptr, DtOMTTree*);
00049 virtual void processApplicationDomain(DtlObjPtr& ptr, DtOMTTree*);
00050 virtual void processSponsorOrgName(DtlObjPtr& ptr, DtOMTTree*);
00051 virtual void processPOCHonorificName(DtlObjPtr& ptr, DtOMTTree*);
00052 virtual void processPOCFirstName(DtlObjPtr& ptr, DtOMTTree*);
00053 virtual void processPOCLastName(DtlObjPtr& ptr, DtOMTTree*);
00054 virtual void processPOCOrgName(DtlObjPtr& ptr, DtOMTTree*);
00055 virtual void processPOCPhone(DtlObjPtr& ptr, DtOMTTree*);
00056 virtual void processPOCEmail(DtlObjPtr& ptr, DtOMTTree*);
00057 virtual void processModificationDate(DtlObjPtr& ptr, DtOMTTree*);
00058 virtual void processMOMVersion(DtlObjPtr& ptr, DtOMTTree*);
00059 virtual void processComplexDataType(DtlObjPtr& ptr, DtOMTTree*);
00060 virtual void processEnumeratedDataType(DtlObjPtr& ptr, DtOMTTree*);
00061 virtual void processNote(DtlObjPtr& ptr, DtOMTTree*);
00062 virtual void processObjectClass(DtlObjPtr& ptr, DtOMTTree*);
00063 virtual void processInteractionClass(DtlObjPtr& ptr, DtOMTTree*);
00064
00065 DtComplexComponentNode* processComplexComponent(DtlObjPtr& ptr);
00066 DtEnumerationNode* processEnumeration(DtlObjPtr& ptr);
00067 DtAttributeFedNode* processAttribute(DtlObjPtr& ptr);
00068 DtParameterFedNode* processParameter(DtlObjPtr& ptr);
00069
00070 protected:
00071
00073
00074 virtual void buildObjectClassTree(DtOMTTree* omtTree);
00075
00077
00078 virtual void buildInteractionClassTree(DtOMTTree* omtTree);
00079
00080
00081 virtual void setAttributeHandles(DtObjectClassFedNode* objNode);
00082 virtual void setParameterHandles(DtInteractionClassFedNode* objNode);
00083
00084 protected:
00085 DtString myLastError;
00086 DtExerciseConn* myExConn;
00087
00088 private:
00089
00091 DtOMTFileReader(const DtOMTFileReader& orig);
00092
00094 DtOMTFileReader& operator=(const DtOMTFileReader& rhs);
00095
00096
00097
00098
00099 };
00100
00101