omtFileReader.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
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    // get the object class and attribute handles and link the children nodes with their parents.
00074    virtual void buildObjectClassTree(DtOMTTree* omtTree);
00075 
00077    // get the interaction class and parameter handles and link the children nodes with their parents.
00078    virtual void buildInteractionClassTree(DtOMTTree* omtTree);
00079 
00080    //Helper function for build tree
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 

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)