MAK RTIspy API Documentation for HLA 1516
regAttrAssoc.h
Go to the documentation of this file.
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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)