MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
regObjAttr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: regObjAttr.h,v $ $Revision: 1.11 $ $State: Exp $
7 *********************************************************************/
10 
11 #ifndef DtRegObjAttr_H_
12 #define DtRegObjAttr_H_
13 
14 #ifdef DDM
15 
16 #include "attrHandSet.h"
17 #include "internalTypes.h"
18 #include <vlutil/vlHashlist.h>
19 
20 class DtObjectClassInfo;
21 
22 class DT_DLL_LRC DtRegObjAttr
23 {
24 public:
25  DtRegObjAttr();
26  DtRegObjAttr(DtObjectInstanceHandle handleValue,
27  const char* objName, DtObjectClassInfo* classDesc);
28  DtRegObjAttr(DtRegObjAttr const & rhs);
29 
30  virtual ~DtRegObjAttr();
31 
32  DtRegObjAttr &operator=(DtRegObjAttr const & rhs);
33 
35  virtual DtObjectInstanceHandle objectHandle();
36 
38  virtual const char* objectName();
39 
41  virtual void setClassDesc(DtObjectClassInfo* classDesc);
42  virtual DtObjectClassInfo* classDesc();
43 
45  virtual void add(DtAttributeHandle attrHandle);
46  virtual void add(DtAttributeHandleSet const& attrHandles);
47  virtual void remove(DtAttributeHandle attrHandle);
48  virtual void remove(DtAttributeHandleSet const& attrHandles);
49  virtual DtAttributeHandleSet const& attributes() const;
50  virtual bool isEmpty() const;
51 
52 protected:
53 
54  DtObjectInstanceHandle myObjectHandle;
55  MAKRti::DtString myObjectName;
56  DtObjectClassInfo* myClass;
57  DtAttributeHandleSet myAttrs;
58 };
59 
60 inline DtObjectInstanceHandle DtRegObjAttr::objectHandle()
61 {
62  return myObjectHandle;
63 }
64 
65 inline const char* DtRegObjAttr::objectName()
66 {
67  return myObjectName.string();
68 }
69 
70 inline DtObjectClassInfo* DtRegObjAttr::classDesc()
71 {
72  return myClass;
73 }
74 
75 inline DtAttributeHandleSet const& DtRegObjAttr::attributes() const
76 {
77  return myAttrs;
78 }
79 
80 inline void DtRegObjAttr::add(DtAttributeHandle attrHandle)
81 {
82  if (!myAttrs.isMember(attrHandle))
83  {
84  myAttrs.add(attrHandle);
85  }
86 }
87 
88 inline void DtRegObjAttr::add(DtAttributeHandleSet const& attrHandles)
89 {
90  myAttrs = myAttrs.setUnion(attrHandles);
91 }
92 
93 inline void DtRegObjAttr::remove(DtAttributeHandle attrHandle)
94 {
95  myAttrs.remove(attrHandle);
96 }
97 inline void DtRegObjAttr::remove(DtAttributeHandleSet const& attrHandles)
98 {
99  myAttrs = myAttrs.removeSetIntersection(attrHandles);
100 }
101 
102 inline bool DtRegObjAttr::isEmpty() const
103 {
104  return myAttrs.isEmpty();
105 }
106 
107 #endif
108 #endif
virtual void add(DtAttributeHandle h)
Add new value.
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
The declaration of internal types.
Definition: objClassInfo.h:36

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)