Go to the documentation of this file.00001
00002
00003
00004
00007 #pragma once
00008
00009 #pragma warning(disable : 4100)
00010
00011 #include "fedNode.h"
00012 #include "attributeFedNode.h"
00013
00014 #include <vl/fom.h>
00015 #include <list>
00016 #include <vl/objClassDesc.h>
00017 #include <vlutil/vlString.h>
00018 #include <vl/rtiNamespace.h>
00019
00020 class DT_DLL_OMTREADER DtDatatypeRep;
00021
00022
00025 class DT_DLL_OMTREADER DtObjectClassFedNode : public DtFedNode
00026 {
00027 public:
00028
00030 typedef std::list<DtObjectClassFedNode*> ObjectClassFedNodeList;
00031
00033 typedef std::list<DtAttributeFedNode*> AttributeFedNodeList;
00034
00036 DtObjectClassFedNode();
00037
00039 explicit DtObjectClassFedNode(DtFedNode*);
00040
00042 virtual ~DtObjectClassFedNode();
00043
00045 DtObjectClassFedNode(const DtObjectClassFedNode& orig);
00046
00048 DtObjectClassFedNode& operator=(const DtObjectClassFedNode& rhs);
00049
00051 virtual void addAttribute(DtAttributeFedNode* attribute);
00052
00054 virtual void addChildObject(DtObjectClassFedNode* child);
00055
00057 virtual DtObjectClassFedNode* findChildObject(const char * name) ;
00058
00060 virtual DtAttributeFedNode* findAttribute(const char * attribute) const;
00061
00063 virtual const ObjectClassFedNodeList& getChildObjects() const;
00064
00066 virtual const AttributeFedNodeList& getAttributes() const;
00067
00068 virtual void setDescriptor(const DtString&);
00069 virtual const DtString& getDescriptor();
00070
00071 virtual void setParentClassHandle(RTI::ObjectClassHandle);
00072 virtual RTI::ObjectClassHandle getParentClassHandle();
00073
00074 virtual void setClassHandle(RTI::ObjectClassHandle);
00075 virtual RTI::ObjectClassHandle getClassHandle();
00076
00077 virtual void setSharing(const DtString&);
00078 virtual const DtString& getSharing();
00079
00080 virtual void setIdentifier(int);
00081 virtual int getIdentifier();
00082 virtual void setParentIdentifier(int);
00083 virtual int getParentIdentifier();
00084
00085 protected:
00086 virtual void removeAttributes();
00087
00088 protected:
00089 AttributeFedNodeList myAttributes;
00090 ObjectClassFedNodeList myChildObjects;
00091
00094 RTI::ObjectClassHandle myParentClassValue;
00095 RTI::ObjectClassHandle myClassValue;
00096
00097 DtString myDescriptor;
00098
00099
00100 DtString mySharing;
00101
00102
00103 int myIdentifier;
00104 int myParentIdentifier;
00105 };
00106
00107