![]() |
VR-Link API Documentation for DIS
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00007 #pragma once 00008 00009 #include <vlutil/vlMachineTypes.h> 00010 #include "omtNode.h" 00011 #include "alternativeComponentNode.h" 00012 #include <vlutil/vlString.h> 00013 #include <list> 00014 #include <iterator> 00015 00016 class DT_DLL_OMTREADER DtVariantDatatypeNode : public DtOMTNode 00017 { 00018 public: 00019 00021 DtVariantDatatypeNode(); 00022 00024 virtual ~DtVariantDatatypeNode(); 00025 00027 DtVariantDatatypeNode(const DtVariantDatatypeNode& orig); 00028 00030 DtVariantDatatypeNode& operator=(const DtVariantDatatypeNode& orig); 00031 00032 virtual void setDescription(const DtString&); 00033 virtual const DtString& getDescription(); 00034 00035 virtual void setDiscriminant(const DtString&); 00036 virtual const DtString& getDiscriminant(); 00037 00038 virtual void setEncoding(const DtString&); 00039 virtual const DtString& getEncoding(); 00040 00041 virtual void setDatatype(const DtString&); 00042 virtual const DtString& getDatatype(); 00043 00044 virtual void addComponentNode(DtAlternativeComponentNode*); 00045 00046 virtual DtAlternativeComponentNode* getComponentNode(const DtString& name); 00047 virtual std::list<DtAlternativeComponentNode*>::iterator getComponentNodeList(); 00048 virtual std::list<DtAlternativeComponentNode*>::iterator getComponentNodeEnd(); 00049 00050 00051 protected: 00052 DtString myDescription; 00053 DtString myDiscriminant; 00054 DtString myEncoding; 00055 DtString myDatatype; 00056 std::list<DtAlternativeComponentNode*> myComponentNodes; 00057 }; 00058 00059 00060