![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: regAttrAssoc.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *********************************************************************/ 00010 00011 #ifndef DtRegAttrAssoc_H_ 00012 #define DtRegAttrAssoc_H_ 00013 00014 #ifdef DDM 00015 00016 #include "attrHandSet.h" 00017 #include "internalTypes.h" 00018 #include <vlutil/vlHashlist.h> 00019 00020 class DtRtiObject; 00021 class DtObjectClassInfo; 00022 00029 class DT_DLL_LRC DtRegAttrAssoc 00030 { 00031 public: 00032 DtRegAttrAssoc(); 00033 DtRegAttrAssoc(DtObjectClassInfo* classDesc); 00034 DtRegAttrAssoc(DtRegAttrAssoc const & rhs); 00035 00036 virtual ~DtRegAttrAssoc(); 00037 00038 DtRegAttrAssoc &operator=(DtRegAttrAssoc const & rhs); 00039 00041 virtual void setClassDesc(DtObjectClassInfo* classDesc); 00042 virtual DtObjectClassInfo* classDesc(); 00043 00045 virtual void addAssociation(DtAttributeHandle attrHandle); 00046 virtual void removeAssociation(DtAttributeHandle attrHandle); 00047 virtual void addAssociation(DtAttributeHandle attrHandle, 00048 DtObjectInstanceHandle objectHandle); 00049 virtual void removeAssociation(DtAttributeHandle attrHandle, 00050 DtObjectInstanceHandle objectHandle); 00051 00053 virtual void addAssociations(const DtAttributeHandleSet& attrSet); 00054 virtual void removeAssociations(const DtAttributeHandleSet& attrSet); 00055 virtual void addAssociations(const DtAttributeHandleSet& attrSet, 00056 DtObjectInstanceHandle objectHandle); 00057 virtual void removeAssociations(const DtAttributeHandleSet& attrSet, 00058 DtObjectInstanceHandle objectHandle); 00059 00061 virtual DtAttributeHandleSet& attributes(); 00063 virtual const DtAttributeHandleSet& attributes() const; 00064 00066 virtual bool isMember(DtAttributeHandle attrHandle); 00067 00069 virtual void emptyAttrs(); 00070 00071 protected: 00072 00074 virtual DtRegAttrAssoc* self() const; 00075 00076 protected: 00077 00078 DtObjectClassInfo* myClass; 00079 MAKRti::DtHashlist myAttrAssoc; 00080 DtAttributeHandleSet myAttrs; 00081 }; 00082 00083 inline DtRegAttrAssoc* DtRegAttrAssoc::self() const 00084 { 00085 return (DtRegAttrAssoc*) this; 00086 } 00087 00088 inline DtObjectClassInfo* DtRegAttrAssoc::classDesc() 00089 { 00090 return myClass; 00091 } 00092 00093 00094 #endif 00095 #endif