MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
subRegMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: subRegMsg.h,v $ $Revision: 1.14 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtAssocSubRegMsg_H_
13 #define DtAssocSubRegMsg_H_
14 #ifdef DDM
15 
16 #include "rtiMsg.h"
17 #include "netSubRegMsg.h"
18 #include "attrHandSet.h"
19 
20 class DtConnectionMgr;
21 class DtAssocSubRegMsg;
22 typedef void (*DtAssocSubRegCb)(const DtAssocSubRegMsg& msg, void* usr);
23 
24 class DT_DLL_LRC DtAssocSubRegMsg : public DtRtiMsg
25 {
26 public:
27 
29  DtAssocSubRegMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
30 
32  DtAssocSubRegMsg(
33  DtRegionHandle regSetHandleValue,
34  DtObjectClassHandle classHandleValue,
35  const DtAttributeHandleSet& attrSet,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
37 
39  DtAssocSubRegMsg(const DtNetAssocSubRegMsg* netRepMsg,
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
41 
43  virtual ~DtAssocSubRegMsg();
44 
46  virtual DtRtiMsg* clone(bool copy = true) const;
47 
49  virtual void set(
50  DtRegionHandle regSetHandleValue,
51  DtObjectClassHandle classHandleValue,
52  const DtAttributeHandleSet& attrSet);
53 
55  virtual void setRegionSetHandle(DtRegionHandle handleValue);
56  virtual DtRegionHandle regionSetHandle() const;
57 
59  virtual void setClassHandle(DtObjectClassHandle handleValue);
60  virtual DtObjectClassHandle classHandle() const;
61 
63  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
64  virtual const DtAttributeHandleSet& attrHandles() const;
65 
67  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
68 
69 public:
70 
72  static DtRtiMsg* create(const DtNetMsgHeader* initial,
73  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
74 
76  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
77 
79  static void addCallback(DtConnectionMgr *conn,
80  DtAssocSubRegCb cb, void *usr, bool isMomCallback=false);
81  static void removeCallback(DtConnectionMgr *conn,
82  DtAssocSubRegCb cb, void *usr, bool isMomCallback=false);
83 
84 protected:
85 
87  virtual DtNetAssocSubRegMsg* netAssocSubRegMsg();
88  virtual const DtNetAssocSubRegMsg* netAssocSubRegMsg() const;
89 
91  virtual int minSize() const;
92 
95 
97  virtual DtAssocSubRegMsg* self() const;
98 
99 protected:
100  bool myDirty;
101  DtAttributeHandleSet* myAttrs;
102 };
103 
104 
105 inline DtAssocSubRegMsg* DtAssocSubRegMsg::self() const
106 {
107  return const_cast<DtAssocSubRegMsg*>( this );
108 }
109 
110 #endif
111 #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)