MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
regAttrAssoc.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: regAttrAssoc.h,v $ $Revision: 1.12 $ $State: Exp $
7 *********************************************************************/
10 
11 #ifndef DtRegAttrAssoc_H_
12 #define DtRegAttrAssoc_H_
13 
14 #ifdef DDM
15 
16 #include "attrHandSet.h"
17 #include "internalTypes.h"
18 #include <vlutil/vlHashlist.h>
19 
20 class DtRtiObject;
21 class DtObjectClassInfo;
22 
23 typedef std::set<DtObjectInstanceHandle> DtObjectInstanceSet;
24 typedef std::map< DtAttributeHandle, DtObjectInstanceSet> DtObjectInstanceHandleSetByAttributeHandle;
31 class DT_DLL_LRC DtRegAttrAssoc
32 {
33 public:
34  DtRegAttrAssoc();
35  DtRegAttrAssoc(DtObjectClassInfo* classDesc);
36  DtRegAttrAssoc(DtRegAttrAssoc const & rhs);
37 
38  virtual ~DtRegAttrAssoc();
39 
40  DtRegAttrAssoc &operator=(DtRegAttrAssoc const & rhs);
41 
43  virtual void setClassDesc(DtObjectClassInfo* classDesc);
44  virtual DtObjectClassInfo* classDesc();
45 
47  virtual void addAssociation(DtAttributeHandle attrHandle);
48  virtual void removeAssociation(DtAttributeHandle attrHandle);
49  virtual void addAssociation(DtAttributeHandle attrHandle,
50  DtObjectInstanceHandle objectHandle);
51  virtual void removeAssociation(DtAttributeHandle attrHandle,
52  DtObjectInstanceHandle objectHandle);
53 
55  virtual void addAssociations(const DtAttributeHandleSet& attrSet);
56  virtual void removeAssociations(const DtAttributeHandleSet& attrSet);
57  virtual void addAssociations(const DtAttributeHandleSet& attrSet,
58  DtObjectInstanceHandle objectHandle);
59  virtual void removeAssociations(const DtAttributeHandleSet& attrSet,
60  DtObjectInstanceHandle objectHandle);
61 
63  virtual DtAttributeHandleSet& attributes();
65  virtual const DtAttributeHandleSet& attributes() const;
66 
68  virtual bool isMember(DtAttributeHandle attrHandle);
69 
71  virtual void emptyAttrs();
72 
73 protected:
74 
76  virtual DtRegAttrAssoc* self() const;
77 
78 protected:
79 
80  DtObjectClassInfo* myClass;
81  DtObjectInstanceHandleSetByAttributeHandle myAttrAssoc;
82  //MAKRti::DtHashlist myAttrAssoc;
83  DtAttributeHandleSet myAttrs;
84 };
85 
86 inline DtRegAttrAssoc* DtRegAttrAssoc::self() const
87 {
88  return (DtRegAttrAssoc*) this;
89 }
90 
91 inline DtObjectClassInfo* DtRegAttrAssoc::classDesc()
92 {
93  return myClass;
94 }
95 
96 
97 #endif
98 #endif

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)