omtTree.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 "complexDatatypeNode.h"
00010 #include "enumeratedDatatypeNode.h"
00011 #include "interactionClassFedNode.h"
00012 #include "objectClassFedNode.h"
00013 #include "simpleDatatypeNode.h"
00014 #include "arrayDatatypeNode.h"
00015 #include "fixedDatatypeNode.h"
00016 #include "variantDatatypeNode.h"
00017 #include "basicDataRepresentationNode.h"
00018 #include "noteNode.h"
00019 #include "boolAttrNode.h"
00020 #include "descriptionNode.h"
00021 #include "dimensionNode.h"
00022 #include "timeRepNode.h"
00023 #include "synchroNode.h"
00024 #include "tagNode.h"
00025 
00026 class DtExerciseConn;
00027 
00028 #include <vlutil/vlString.h>
00029 #include <vl/rtiNamespace.h>
00030 
00031 #include <list>
00032 
00033 class DtUpdateRateNode;
00034 
00037 class DT_DLL_OMTREADER DtOMTTree
00038 {
00039 public:
00040 
00042    DtOMTTree();
00043    
00045    virtual ~DtOMTTree();
00046 
00047    
00048    virtual void setName(const DtString&);
00049    virtual const DtString& getName();
00050 
00051    virtual void setVersionNo(const DtString&);
00052    virtual const DtString& getVersionNo();
00053 
00054    virtual void setType(const DtString&);
00055    virtual const DtString& getType();
00056 
00057    virtual void setPurpose(const DtString&);
00058    virtual const DtString& getPurpose();
00059 
00060    virtual void setApplicationDomain(const DtString&);
00061    virtual const DtString& getApplicationDomain();
00062 
00063    virtual void setSponsorOrgName(const DtString&);
00064    virtual const DtString& getSponsorOrgName();
00065 
00066    virtual void setPOCHonorificName(const DtString&);
00067    virtual const DtString& getPOCHonorificName();
00068 
00069    virtual void setPOCFirstName(const DtString&);
00070    virtual const DtString& getPOCFirstName();
00071 
00072    virtual void setPOCLastName(const DtString&);
00073    virtual const DtString& getPOCLastName();
00074 
00075    virtual void setPOCOrgName(const DtString&);
00076    virtual const DtString& getPOCOrgName();
00077 
00078    virtual void setPOCPhone(const DtString&);
00079    virtual const DtString& getPOCPhone();
00080 
00081    virtual void setPOCEmail(const DtString&);
00082    virtual const DtString& getPOCEmail();
00083 
00084    virtual void setModificationDate(const DtString&);
00085    virtual const DtString& getModificationDate();
00086 
00087    virtual void setSecurityClassification(const DtString&);
00088    virtual const DtString& getSecurityClassification() const;
00089 
00090    virtual void setReleaseRestriction(const DtString&);
00091    virtual const DtString& getReleaseRestriction() const;
00092 
00093    virtual void setDescription(const DtString&);
00094    virtual const DtString& getDescription() const;
00095 
00096    virtual void setMOMVersion(const DtString&);
00097    virtual const DtString& getMOMVersion();
00098 
00099    virtual void setReference(const DtString&);
00100    virtual const DtString& getReference();
00101 
00102    virtual void setOther(const DtString&);
00103    virtual const DtString& getOther();
00104    
00105   virtual void addBasicDataRepresentationNode(DtBasicDataRepresentationNode*);
00106   virtual DtBasicDataRepresentationNode* getBasicDataRepresentationNode(const DtString& name);
00107   virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationNodeList();
00108   virtual std::list<DtBasicDataRepresentationNode*>::iterator getBasicDataRepresentationEndNode();
00109    
00110   virtual void addVariantDatatypeNode(DtVariantDatatypeNode*);
00111   virtual DtVariantDatatypeNode* getVariantDatatypeNode(const DtString& name);
00112   virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeNodeList();
00113   virtual std::list<DtVariantDatatypeNode*>::iterator getVariantDatatypeEndNode();
00114    
00115   virtual void addFixedDatatypeNode(DtFixedDatatypeNode*);
00116   virtual DtFixedDatatypeNode* getFixedDatatypeNode(const DtString& name);
00117   virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeNodeList();
00118   virtual std::list<DtFixedDatatypeNode*>::iterator getFixedDatatypeEndNode();
00119    
00120   virtual void addSimpleDatatypeNode(DtSimpleDatatypeNode*);
00121   virtual DtSimpleDatatypeNode* getSimpleDatatypeNode(const DtString& name);
00122   virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeNodeList();
00123   virtual std::list<DtSimpleDatatypeNode*>::iterator getSimpleDatatypeEndNode();
00124    
00125   virtual void addComplexDatatypeNode(DtComplexDatatypeNode*);
00126   virtual DtComplexDatatypeNode* getComplexDatatypeNode(const DtString& name);
00127   virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeNodeList();
00128   virtual std::list<DtComplexDatatypeNode*>::iterator getComplexDatatypeEndNode();
00129    
00130   virtual void addArrayDatatypeNode(DtArrayDatatypeNode*);
00131   virtual DtArrayDatatypeNode* getArrayDatatypeNode(const DtString& name);
00132   virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeNodeList();
00133   virtual std::list<DtArrayDatatypeNode*>::iterator getArrayDatatypeEndNode();
00134    
00135   virtual void addEnumeratedDatatypeNode(DtEnumeratedDatatypeNode*);
00136   virtual DtEnumeratedDatatypeNode* getEnumeratedDatatypeNode(const DtString& name);
00137   virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeNodeList();
00138   virtual std::list<DtEnumeratedDatatypeNode*>::iterator getEnumeratedDatatypeEndNode();
00139 
00140   virtual void addNoteNode(DtNoteNode*);
00141   virtual DtNoteNode* getNoteNode(int val);
00142   virtual std::list<DtNoteNode*>::iterator getNoteNodeList();
00143   virtual std::list<DtNoteNode*>::iterator getNoteEndNode();
00144 
00145   virtual void addUpdateRateNode(DtUpdateRateNode* node);
00146   virtual DtUpdateRateNode* getUpdateRateNode(const DtString& name);
00147   virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateNodeList();
00148   virtual std::list<DtUpdateRateNode*>::iterator getUpdateRateEndNode();
00149 
00150 
00152 
00153   virtual void setObjectClassRoot(DtObjectClassFedNode* node);
00154   virtual DtObjectClassFedNode* objectClassRoot();
00156 
00157   virtual void addObjectClassNode(DtObjectClassFedNode*);
00158   virtual DtObjectClassFedNode* getObjectClassNode(RTI::ObjectClassHandle value);
00160   virtual DtObjectClassFedNode* getObjectClassNode(const DtString& name = "");
00161   virtual DtObjectClassFedNode* getObjectClassNodeByID(int id);
00162   virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeBegin();
00163   virtual std::list<DtObjectClassFedNode*>::iterator getObjectClassNodeEnd();
00164   virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeRBegin();
00165   virtual std::list<DtObjectClassFedNode*>::reverse_iterator getObjectClassNodeREnd();
00166 
00168 
00169   virtual void setInteractionClassRoot(DtInteractionClassFedNode* node);
00170   virtual DtInteractionClassFedNode* interactionClassRoot();
00172 
00173   virtual void addInteractionClassNode(DtInteractionClassFedNode*);
00174   virtual DtInteractionClassFedNode* getInteractionClassNode(RTI::InteractionClassHandle value);
00176   virtual DtInteractionClassFedNode* getInteractionClassNode(const DtString& name = "");
00177   virtual DtInteractionClassFedNode* getInteractionClassNodeByID(int id);
00178   virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeBegin();
00179   virtual std::list<DtInteractionClassFedNode*>::iterator getInteractionClassNodeEnd();
00180   virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeRBegin();
00181   virtual std::list<DtInteractionClassFedNode*>::reverse_iterator getInteractionClassNodeREnd();
00182 
00183   virtual void addSwitchNode(DtBoolAttrNode*);
00184   virtual DtBoolAttrNode* getSwitchNode(const DtString& name);
00185   virtual std::list<DtBoolAttrNode*>::iterator getSwitchNodeList();
00186   virtual std::list<DtBoolAttrNode*>::iterator getSwitchEndNode();
00187 
00188   virtual void addTransportationNode(DtDescriptionNode*);
00189   virtual DtDescriptionNode* getTransportationNode(const DtString& name);
00190   virtual std::list<DtDescriptionNode*>::iterator getTransportationNodeList();
00191   virtual std::list<DtDescriptionNode*>::iterator getTransportationEndNode();
00192 
00193   virtual void addDimensionNode(DtDimensionNode*);
00194   virtual DtDimensionNode* getDimensionNode(const DtString& name);
00195   virtual std::list<DtDimensionNode*>::iterator getDimensionNodeList();
00196   virtual std::list<DtDimensionNode*>::iterator getDimensionEndNode();
00197 
00198   virtual void addSynchroNode(DtSynchroNode*);
00199   virtual DtSynchroNode* getSynchroNode(const DtString& name);
00200   virtual std::list<DtSynchroNode*>::iterator getSynchroNodeList();
00201   virtual std::list<DtSynchroNode*>::iterator getSynchroEndNode();
00202 
00203   virtual void addTagNode(DtTagNode*);
00204   virtual DtTagNode* getTagNode(const DtString& name);
00205   virtual std::list<DtTagNode*>::iterator getTagNodeList();
00206   virtual std::list<DtTagNode*>::iterator getTagEndNode();
00207 
00208   virtual DtTimeRepNode* getTimeRepNode();
00209 
00210   virtual void merge(DtOMTTree* mergeTree);
00211 
00212 protected:
00217    virtual DtObjectClassFedNode* mergeObjectNode(const DtObjectClassFedNode& sourceNode);
00222    virtual DtInteractionClassFedNode* mergeInteractionNode(const DtInteractionClassFedNode& sourceNode);
00223    virtual void mergeObjects(DtOMTTree* mergeTree);
00224    virtual void mergeInteractions(DtOMTTree* mergeTree);
00225    virtual void mergeDatatypes(DtOMTTree* mergeTree);
00226    virtual void mergeDimensions(DtOMTTree* mergTree);
00227    virtual void mergeNotes(DtOMTTree* mergeTree);
00228    virtual void mergeSyncPoints(DtOMTTree* mergeTree);
00229    virtual void mergeTransportations(DtOMTTree* mergeTree);
00230    virtual void mergeUpdateRates(DtOMTTree* mergeTree);
00231 
00232 protected:
00233    std::list<DtNoteNode*> myNoteNodes;
00234    std::list<DtObjectClassFedNode*> myObjectClassNodes;
00235    std::list<DtInteractionClassFedNode*> myInteractionClassNodes;
00236    std::list<DtComplexDatatypeNode*> myComplexDatatypeNodes;
00237    std::list<DtEnumeratedDatatypeNode*> myEnumeratedDatatypeNodes;
00238 
00239    //1516 only tables
00240    std::list<DtBasicDataRepresentationNode*> myBasicDataRepresentationNodes;
00241    std::list<DtSimpleDatatypeNode*> mySimpleDatatypeNodes;
00242    std::list<DtArrayDatatypeNode*> myArrayDatatypeNodes;
00243    std::list<DtFixedDatatypeNode*> myFixedDatatypeNodes;
00244    std::list<DtVariantDatatypeNode*> myVariantDatatypeNodes;
00245    std::list<DtBoolAttrNode*> mySwitchNodes;
00246    std::list<DtDescriptionNode*> myTransportationNodes;
00247    std::list<DtDimensionNode*> myDimensionNodes;
00248    std::list<DtSynchroNode*> mySynchroNodes;
00249    std::list<DtTagNode*> myTagNodes;
00250    
00252    std::list<DtUpdateRateNode*> myUpdateRateNodes;
00253 
00254    DtTimeRepNode* myTimeRepNode;
00255    
00256    DtObjectClassFedNode* myObjectClassRoot;
00257    DtInteractionClassFedNode* myInteractionClassRoot;
00258 
00259    DtString myName;
00260    DtString myVersionNo;
00261    DtString myType;
00262    DtString myPurpose;
00263    DtString myApplicationDomain;
00264    DtString mySponsorOrgName;
00265    DtString myPOCHonorificName;
00266    DtString myPOCFirstName;
00267    DtString myPOCLastName;
00268    DtString myPOCOrgName;
00269    DtString myPOCPhone;
00270    DtString myPOCEmail;
00271    DtString myModificationDate;
00272    DtString mySecurityClassification;
00273    DtString myReleaseRestriction;
00274    DtString myDescription;
00275    DtString myMOMVersion;
00276    DtString myReference;
00277    DtString myOther;
00278    
00279 };
00280 
00281 

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)