MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
multiRegObjMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #include "rtiMsg.h"
12 #include "netMultiRegObjMsg.h"
13 #include "attrHandSet.h"
14 #include <vlutil/vlString.h>
15 
16 class DtConnectionMgr;
17 class DtMultiRegObjMsg;
18 
19 typedef void (*DtMultiRegObjCb)(const DtMultiRegObjMsg& msg, void* usr);
20 
22 {
23 public:
24  static const int DtMAX_OBJECTS = 100;
25 
27  DtMultiRegObjMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
28 
30  DtObjectClassHandle classHandleValue,
31  const DtAttributeHandleSet& attrSet,
32  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
33 
35  DtMultiRegObjMsg(const DtNetMultiRegObjMsg* netRepMsg,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
37 
39  virtual ~DtMultiRegObjMsg();
40 
42  virtual DtRtiMsg* clone(bool copy = true) const;
43 
45  virtual void set(
46  DtObjectClassHandle classHandleValue,
47  const DtAttributeHandleSet& attrSet);
48 
50  virtual void setClassHandle(DtObjectClassHandle hand);
51  virtual DtObjectClassHandle classHandle() const;
52 
54  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
55  virtual const DtAttributeHandleSet& attrHandles() const;
56 
57  virtual void insertObject(DtObjectInstanceHandle hand,
58  const char* name);
59 
61  virtual unsigned long objectCount() const;
62 
64  virtual char* objectPointer() 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  DtMultiRegObjCb cb, void *usr);
81  static void removeCallback(DtConnectionMgr *conn,
82  DtMultiRegObjCb cb, void *usr);
83 
84 protected:
85 
87  virtual DtNetMultiRegObjMsg* netMultiRegObjMsg();
88  virtual const DtNetMultiRegObjMsg* netMultiRegObjMsg() const;
89 
92 
94  virtual int minSize() const;
95 
97  virtual DtMultiRegObjMsg* self() const;
98 
99 protected:
100 
101  int myDirty;
103 };
104 
105 
107 {
108  return const_cast<DtMultiRegObjMsg*>( this );
109 }
110 
virtual DtMultiRegObjMsg * self() const
Casts away const-ness.
Definition: multiRegObjMsg.h:106
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
void(* DtMultiRegObjCb)(const DtMultiRegObjMsg &msg, void *usr)
Definition: multiRegObjMsg.h:19
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
DtAttributeHandleSet * myAttrs
Definition: multiRegObjMsg.h:102
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
This is the same class as a RegObjMsg except it is meant to register more than one object at a time...
Definition: netMultiRegObjMsg.h:30
Definition: multiRegObjMsg.h:21
int myDirty
Definition: multiRegObjMsg.h:101

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)