Go to the documentation of this file.00001
00002
00003
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