MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pubRegMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: pubRegMsg.h,v $ $Revision: 1.17 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtAssocPubRegMsg_H_
13 #define DtAssocPubRegMsg_H_
14 #ifdef DDM
15 
16 #include "rtiMsg.h"
17 #include "netPubRegMsg.h"
18 #include "attrHandSet.h"
19 #include <vlutil/vlString.h>
20 
21 class DtConnectionMgr;
22 class DtAssocPubRegMsg;
23 
24 typedef void (*DtAssocPubRegCb)(const DtAssocPubRegMsg& msg, void* usr);
25 
26 class DT_DLL_LRC DtAssocPubRegMsg : public DtRtiMsg
27 {
28 public:
29 
31  DtAssocPubRegMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
32 
34  DtAssocPubRegMsg(
35  DtRegionHandle regSetHandleValue,
36  DtObjectInstanceHandle objectHandleValue,
37  const char* objName,
38  DtObjectClassHandle classHandleValue,
39  bool isRemovingAssoc,
40  const DtAttributeHandleSet& attrSet,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
44  DtAssocPubRegMsg(const DtNetAssocPubRegMsg* netRepMsg,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
46 
48  virtual ~DtAssocPubRegMsg();
49 
51  virtual DtRtiMsg* clone(bool copy = true) const;
52 
54  virtual void set(
55  DtRegionHandle regSetHandleValue,
56  DtObjectInstanceHandle objectHandleValue,
57  const char* objName,
58  DtObjectClassHandle classHandleValue,
59  bool isRemovingAssoc,
60  const DtAttributeHandleSet& attrSet);
61 
63  virtual void setRegionSetHandle(DtRegionHandle handleValue);
64  virtual DtRegionHandle regionSetHandle() const;
65 
67  virtual void setObjectHandle(DtObjectInstanceHandle handleValue);
68  virtual DtObjectInstanceHandle objectHandle() const;
69 
71  virtual void setObjName(const char* name);
72  virtual const char* objName() const;
73 
75  virtual void setClassHandle(DtObjectClassHandle handleValue);
76  virtual DtObjectClassHandle classHandle() const;
77 
79  virtual void setRemoveAssociation(bool isRemovingAssoc);
80  virtual bool isRemoveAssociation() const;
81 
83  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
84  virtual const DtAttributeHandleSet& attrHandles() const;
85 
87  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
88 
89 public:
90 
92  static DtRtiMsg* create(const DtNetMsgHeader* initial,
93  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
94 
96  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
97 
99  static void addCallback(DtConnectionMgr *conn,
100  DtAssocPubRegCb cb, void *usr);
101  static void removeCallback(DtConnectionMgr *conn,
102  DtAssocPubRegCb cb, void *usr);
103 
104 protected:
105 
107  virtual DtNetAssocPubRegMsg* netAssocPubRegMsg();
108  virtual const DtNetAssocPubRegMsg* netAssocPubRegMsg() const;
109 
111  virtual int minSize() const;
112 
115 
117  virtual char* namePtr();
118 
120  virtual unsigned short nameFieldSize() const;
121 
123  virtual DtAssocPubRegMsg* self() const;
124 
125 protected:
126 
127  bool myDirty;
128  DtAttributeHandleSet* myAttrs;
129  MAKRti::DtString myName;
130 };
131 
132 
133 inline DtAssocPubRegMsg* DtAssocPubRegMsg::self() const
134 {
135  return const_cast<DtAssocPubRegMsg*>( this );
136 }
137 
138 #endif
139 #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)