MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
interRoMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: interRoMsg.h,v $ $Revision: 1.13 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtInteractRoMsg_H_
13 #define DtInteractRoMsg_H_
14 
15 #include "interactMsg.h"
16 #include "netInterMsg.h"
17 
19 
21 {
22 public:
23 
25  DtInteractionRoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
26 
28  DtInteractionClassHandle theInteraction,
29  const DtPhvps& theParameters,
30 #ifdef DtIFSPEC1516
31  rti1516::VariableLengthData const& theTag,
32 #elif defined(DtIFSPEC1516E)
33  rti1516e::VariableLengthData const& theTag,
34 #else
35  char const * theTag,
36 #endif
37  unsigned long channel,
38  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39 
40  DtInteractionRoMsg(const DtNetInteractionMsg* netRepMsg,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
44  virtual ~DtInteractionRoMsg();
45 
47  virtual DtRtiMsg* clone(bool copy = true) const;
48 
50  virtual void set(
51  DtInteractionClassHandle theInteraction,
52  const DtPhvps& theParameters,
53 #ifdef DtIFSPEC1516
54  rti1516::VariableLengthData const& theTag,
55 #elif defined(DtIFSPEC1516E)
56  rti1516e::VariableLengthData const& theTag,
57 #else
58  char const * theTag,
59 #endif
60  unsigned long channel);
61 
63  virtual void setHandle(DtInteractionClassHandle hand);
64  virtual DtInteractionClassHandle handle() const;
65 
67  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
68 
69 public:
70 
72  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
73  static DtRtiMsg* create(const DtNetMsgHeader* initial,
74  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
75 
77  static void addCallback(DtConnectionMgr *conn,
78  DtInteractionCb cb, void *usr, bool isMomCallback=false);
79  static void removeCallback(DtConnectionMgr *conn,
80  DtInteractionCb cb, void *usr, bool isMomCallback=false);
81 
82 protected:
83 
85  virtual DtNetParams* netParams();
86  virtual DtNetBigParams* netBigParams();
87 
89  virtual DtNetInteractionMsg* netInterRoMsg();
90  virtual const DtNetInteractionMsg* netInterRoMsg() const;
91 
94 
96  virtual int minSize(const DtPhvps* params=NULL,
97 #ifdef DtIFSPEC1516
98  rti1516::VariableLengthData const& theTag=theDefaultTag) const;
99 #elif defined(DtIFSPEC1516E)
100  rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
101 #else
102  char const * theTag=NULL) const;
103 #endif
104 
106  virtual void setTagSize(int size);
107  virtual int tagSize() const;
108 
110  virtual DtNetU32* channelPtr() const;
111 
113  virtual char* tagPtr();
114 
116  virtual DtInteractionRoMsg* selfRo() const;
117 
118 };
119 
120 
122 {
123  return const_cast<DtInteractionRoMsg*>( this );
124 }
125 
126 #endif
127 
Definition: netParms.h:112
virtual DtInteractionClassHandle handle() const =0
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
virtual char * tagPtr()=0
Returns pointer to the tag in the netMsg.
virtual DtNetBigParams * netBigParams()=0
Returns pointer to the network rep of the pvList.
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
Definition: netParms.h:98
virtual void setTagSize(int size)=0
Set/Get tag size.
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:35
static const char * theDefaultTag
Definition: rtiMsg.h:283
virtual DtInteractionRoMsg * selfRo() const
Casts away const-ness.
Definition: interRoMsg.h:121
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
Message for sending receive order interaciotns.
Definition: interRoMsg.h:20
void(* DtInteractionCb)(const DtInteractionMsg &inter, void *usr)
Definition: interactMsg.h:23
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: netInterMsg.h:17
Definition: VariableLengthData.h:22
virtual DtNetParams * netParams()=0
Returns pointer to the network rep of the pvList.
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
virtual void setHandle(DtInteractionClassHandle hand)=0
Set/Get handle.
virtual int tagSize() const =0
virtual DtNetU32 * channelPtr() const =0
Returns pointer to the channel in the netMsg.
DtInteractionMsg is a message type that represents an HLA Interaction.
Definition: interactMsg.h:27

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)