MAK RTIspy API Documentation for HLA Evolved
 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 

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)