MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pubObjMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: pubObjMsg.h,v $ $Revision: 1.15 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtPubObjMsg_H_
13 #define DtPubObjMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netPubObjMsg.h"
17 #include "attrHandSet.h"
18 
20 class DtConnectionMgr;
21 class DtPubObjMsg;
22 typedef void (*DtPubObjCb)(const DtPubObjMsg& inter, void* usr);
23 
25 {
26 public:
27 
29  DtPubObjMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
30 
32  DtObjectClassHandle theObj,
33  const DtAttributeHandleSet& theSet,
34  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35 
37  DtPubObjMsg(const DtNetPubObjMsg* netRepMsg,
38  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39 
41  virtual ~DtPubObjMsg();
42 
44  virtual DtRtiMsg* clone(bool copy = true) const;
45 
47  virtual void set(
48  DtObjectClassHandle theObj,
49  const DtAttributeHandleSet& theSet);
50 
52  virtual void setObjectClassHandle(DtObjectClassHandle hand);
53  virtual DtObjectClassHandle objectClassHandle() const;
54 
56  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
57  virtual const DtAttributeHandleSet& attrHandles() const;
58 
60  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
61 
62 public:
63 
65  static DtRtiMsg* create(const DtNetMsgHeader* initial,
66  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
67 
69  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
70 
72  static void addCallback(DtConnectionMgr* conn,
73  DtPubObjCb cb, void* usr);
74  static void removeCallback(DtConnectionMgr* conn,
75  DtPubObjCb cb, void* usr);
76 
77 protected:
78 
80  virtual DtNetPubObjMsg* netPubObjMsg();
81  virtual const DtNetPubObjMsg* netPubObjMsg() const;
82 
85 
87  virtual int minSize() const;
88 
90  virtual DtPubObjMsg* self() const;
91 
92 protected:
93 
94  int myDirty;
96 };
97 
98 
100 {
101  return const_cast<DtPubObjMsg*>( this );
102 }
103 
104 #endif
105 
DtAttributeHandleSet * myAttrs
Definition: pubObjMsg.h:95
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
virtual DtPubObjMsg * self() const
Casts away const-ness.
Definition: pubObjMsg.h:99
void(* DtPubObjCb)(const DtPubObjMsg &inter, void *usr)
Definition: pubObjMsg.h:22
DtHandle DtObjectClassHandle
Definition: internalTypes.h:31
Definition: attrHandSet.h:37
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:45
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: netPubObjMsg.h:20
int myDirty
Definition: pubObjMsg.h:94
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
Definition: pubObjMsg.h:24

Document ID: Generated on Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)