MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
objRegSetMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: objRegSetMsg.h,v $ $Revision: 1.15 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtObjRegSetMsg_H_
13 #define DtObjRegSetMsg_H_
14 #ifdef DDM
15 
16 #include "rtiMsg.h"
17 #include "netObjRegMsg.h"
18 #include <vlutil/vlInetAddr.h>
19 
20 
21 class DtRegionSet;
22 class DtConnectionMgr;
23 class DtObjRegSetMsg;
24 
25 enum DtObjRegSetType
26 {
27  DtObjPubRegSet,
28  DtObjSubRegSet
29 };
30 
31 typedef void (*DtObjRegSetCb)(const DtObjRegSetMsg& msg, void* usr);
32 
33 class DT_DLL_LRC DtObjRegSetMsg : public DtRtiMsg
34 {
35 public:
36 
38  DtObjRegSetMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39 
41  DtObjRegSetMsg(DtObjRegSetType type,
42  const DtRegionSet &regionSet,
43  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
44 
46  DtObjRegSetMsg(const DtNetObjRegSetMsg* netRepMsg,
47  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48 
50  virtual ~DtObjRegSetMsg();
51 
53  virtual DtRtiMsg* clone(bool copy = true) const;
54 
56  virtual void set(DtObjRegSetType type,
57  const DtRegionSet &regionSet);
58 
60  virtual void setRegionSetType(DtObjRegSetType type);
61  virtual DtObjRegSetType regionSetType() const;
62 
64  virtual void setRegionSetHandle(DtRegionHandle handleValue);
65  virtual DtRegionHandle regionSetHandle() const;
66 
68  virtual void setAddress(const MAKRti::DtInetAddr& addressValue);
69  virtual MAKRti::DtInetAddr address() const;
70 
72  virtual unsigned long numberRegions() const;
73 
75  virtual const DtRegionHandle* regions() const;
76 
78  virtual void reserveRegionSlots(unsigned long numberRegions);
79 
81  virtual void addRegion(DtRegionHandle handleValue);
82 
84  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
85 
86 public:
87 
88  static DtRtiMsg* create(const DtNetMsgHeader* initial,
89  DtBufferPtr buffer);
90 
92  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
93 
94  static void addCallback(DtConnectionMgr *conn,
95  DtObjRegSetCb cb, void *usr);
96 
97  static void removeCallback(DtConnectionMgr *conn,
98  DtObjRegSetCb cb, void *usr);
99 
100 protected:
101 
103  virtual DtNetU32* netRegions();
104 
106  virtual DtNetObjRegSetMsg* netObjRegSetMsg();
107  virtual const DtNetObjRegSetMsg* netObjRegSetMsg() const;
108 
111 
113  virtual int minSize() const;
114 
116  virtual DtObjRegSetMsg* self() const;
117 
118 protected:
119  unsigned long myRegionCount;
120  unsigned long myReservedSlotCount;
121  DtRegionHandle* myRegions;
122  bool myDirty;
123 };
124 
125 
126 inline DtObjRegSetMsg* DtObjRegSetMsg::self() const
127 {
128  return const_cast<DtObjRegSetMsg*>( this );
129 }
130 
131 #endif
132 #endif
133 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
DtHandle DtRegionHandle
Definition: internalTypes.h:65
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
Definition: netObjRegMsg.h:19
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155

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)