MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
deleteTsoMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: deleteTsoMsg.h,v $ $Revision: 1.11 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtDeleteTsoMsg_H_
13 #define DtDeleteTsoMsg_H_
14 
15 #ifdef DtTIME
16 
17 #include "deleteMsg.h"
18 #include "netDelTsoMsg.h"
19 
20 
21 class DtDeleteTsoMsg;
22 typedef void (*DtDeleteTsoCb)(const DtDeleteTsoMsg& inter, void* usr);
23 
25 
26 class DT_DLL_LRC DtDeleteTsoMsg : public DtDeleteMsg
27 {
28 public:
29 
31  DtDeleteTsoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
32 
34  DtDeleteTsoMsg(
36  DtOrderHandle type,
37 #ifdef DtIFSPEC1516
38  rti1516::LogicalTime const &,
39  rti1516::VariableLengthData const& theTag,
40 #elif defined(DtIFSPEC1516E)
41  rti1516e::LogicalTime const &,
42  rti1516e::VariableLengthData const& theTag,
43 #else
44  RTI::FedTime const & theTime,
45  char const * theTag,
46 #endif
47  unsigned long serialNumberVal,
48  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
49 
51  DtDeleteTsoMsg(const DtNetDeleteTsoMsg* netRepMsg,
52  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
53 
55  virtual ~DtDeleteTsoMsg();
56 
58  virtual DtRtiMsg* clone(bool copy = true) const;
59 
61  virtual void set(DtObjectInstanceHandle theObj,
62  DtOrderHandle type,
63 #ifdef DtIFSPEC1516
64  rti1516::LogicalTime const &,
65  rti1516::VariableLengthData const& theTag,
66 #elif defined(DtIFSPEC1516E)
67  rti1516e::LogicalTime const &,
68  rti1516e::VariableLengthData const& theTag,
69 #else
70  RTI::FedTime const & theTime,
71  char const * theTag,
72 #endif
73  unsigned long serialNumberVal);
74 
76  virtual void setId(DtObjectInstanceHandle id);
77  virtual DtObjectInstanceHandle id() const;
78 
80  virtual void setOrderType(DtOrderHandle type);
81  virtual DtOrderHandle orderType() const;
82 
84 #ifdef DtIFSPEC1516
85  virtual void setTime(rti1516::LogicalTime const & time);
86  virtual rti1516::LogicalTime const * time(
87  DtLogicalTimeFactory* logicalTimeFactory) const;
88 #elif defined(DtIFSPEC1516E)
89  virtual void setTime(rti1516e::LogicalTime const & time);
90  virtual rti1516e::LogicalTime const * time(
91  DtLogicalTimeFactory* logicalTimeFactory) const;
92 #else
93  virtual void setTime(RTI::FedTime const & time);
94  virtual RTI::FedTime const * time(
95  DtLogicalTimeFactory* logicalTimeFactory) const;
96 #endif
97 
99  virtual void setSerialNumber(unsigned long handleValue);
100  virtual unsigned long serialNumber() const;
101 
103  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
104 
105 public:
106 
108  static DtRtiMsg* create(const DtNetMsgHeader* initial,
109  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
110 
112  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
113 
115  static void addCallback(DtConnectionMgr *conn,
116  DtDeleteTsoCb cb, void *usr);
117  static void removeCallback(DtConnectionMgr *conn,
118  DtDeleteTsoCb cb, void *usr);
119 
120 protected:
121 
123  virtual DtNetDeleteTsoMsg* netDeleteTsoMsg();
124  virtual const DtNetDeleteTsoMsg* netDeleteTsoMsg() const;
125 
128 
130 #ifdef DtIFSPEC1516
131  virtual int minSize(rti1516::LogicalTime const * theTime=NULL,
132  rti1516::VariableLengthData const& theTag=theDefaultTag) const;
133 #elif defined(DtIFSPEC1516E)
134  virtual int minSize(rti1516e::LogicalTime const * theTime=NULL,
135  rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
136 #else
137  virtual int minSize(RTI::FedTime const * theTime=NULL,
138  char const * theTag=NULL) const;
139 #endif
140 
142  virtual void setTimeSize(int size);
143  virtual int timeSize() const;
144 
146  virtual void setTagSize(int size);
147  virtual int tagSize() const;
148 
150  virtual char* tagPtr();
151 
153  virtual char* timePtr();
154 
156  virtual int timeFieldSize() const;
157 
159  DtNetU32* serialNumberPtr() const;
160 
162  virtual DtDeleteTsoMsg* selfTso() const;
163 };
164 
165 
166 inline DtDeleteTsoMsg* DtDeleteTsoMsg::selfTso() const
167 {
168  return const_cast<DtDeleteTsoMsg*>( this );
169 }
170 
171 #endif
172 #endif
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
virtual DtObjectInstanceHandle id() const =0
virtual void setId(DtObjectInstanceHandle id)=0
Set/Get handle.
virtual char * tagPtr()=0
Returns pointer to the tag in the netMsg.
virtual unsigned long serialNumber() const
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
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:33
virtual RTI::FedTime const * time(DtLogicalTimeFactory *fedTimeFactory) const
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual void setTagSize(int size)=0
Set/Get tag size.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
virtual int tagSize() const =0
virtual DtOrderHandle orderType() const
This base implementation always returns recieve order.
virtual void setTime(const RTI::FedTime &time)
Set/Get time Used in timestamped messages.
Definition: VariableLengthData.h:22
The Delete message class indicates a deleted RTI object.
Definition: deleteMsg.h:24
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
Definition: LogicalTime.h:27
virtual void setSerialNumber(unsigned long serialNumberValue)
Set/Get event retraction serial number Used in timestamped messages.
DtHandle DtOrderHandle
Definition: internalTypes.h:39
Format for arranging the data for a time stamped delete message.
Definition: netDelTsoMsg.h:21

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)