MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
interTsoMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: interTsoMsg.h,v $ $Revision: 1.13 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtInteractionTsoMsg_H_
13 #define DtInteractionTsoMsg_H_
14 
15 #ifdef DtTIME
16 
17 #include "interactMsg.h"
18 #include "netIntTsoMsg.h"
19 
21 
22 class DT_DLL_LRC DtInteractionTsoMsg : public DtInteractionMsg
23 {
24 public:
25 
27  DtInteractionTsoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
28 
29  DtInteractionTsoMsg(
30  DtInteractionClassHandle theInteraction,
31  const DtPhvps& theParameters,
32  DtOrderHandle type,
33 #ifdef DtIFSPEC1516
34  rti1516::LogicalTime const & theTime,
35  rti1516::VariableLengthData const& theTag,
36 #elif defined(DtIFSPEC1516E)
37  rti1516e::LogicalTime const & theTime,
38  rti1516e::VariableLengthData const& theTag,
39 #else
40  RTI::FedTime const & theTime,
41  char const * theTag,
42 #endif
43  unsigned long serialNumberVal,
44  unsigned long channel,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
46 
47  DtInteractionTsoMsg(const DtNetInteractionTsoMsg* netRepMsg,
48  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
49 
51  virtual ~DtInteractionTsoMsg();
52 
54  virtual DtRtiMsg* clone(bool copy = true) const;
55 
57  virtual void set(
58  DtInteractionClassHandle theInteraction,
59  const DtPhvps& theParameters,
60  DtOrderHandle type,
61 #ifdef DtIFSPEC1516
62  rti1516::LogicalTime const & theTime,
63  rti1516::VariableLengthData const& theTag,
64 #elif defined(DtIFSPEC1516E)
65  rti1516e::LogicalTime const & theTime,
66  rti1516e::VariableLengthData const& theTag,
67 #else
68  RTI::FedTime const & theTime,
69  char const * theTag,
70 #endif
71  unsigned long serialNumberVal,
72  unsigned long channel);
73 
75  virtual void setHandle(DtInteractionClassHandle hand);
76  virtual DtInteractionClassHandle handle() const;
77 
79  virtual void setOrderType(DtOrderHandle type);
80  virtual DtOrderHandle orderType() const;
81 
83 #ifdef DtIFSPEC1516
84  virtual void setTime(rti1516::LogicalTime const & time);
85  virtual rti1516::LogicalTime const * time(
86  DtLogicalTimeFactory* logicalTimeFactory) const;
87 #elif defined(DtIFSPEC1516E)
88  virtual void setTime(rti1516e::LogicalTime const & time);
89  virtual rti1516e::LogicalTime const * time(
90  DtLogicalTimeFactory* logicalTimeFactory) const;
91 #else
92  virtual void setTime(RTI::FedTime const & time);
93  virtual RTI::FedTime const * time(
94  DtLogicalTimeFactory* logicalTimeFactory) const;
95 #endif
96 
98  virtual void setSerialNumber(unsigned long handleValue);
99  virtual unsigned long serialNumber() const;
100 
102  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
103 
104 public:
105 
107  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
108  static DtRtiMsg* create(const DtNetMsgHeader* initial,
109  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
110 
112  static void addCallback(DtConnectionMgr *conn,
113  DtInteractionCb cb, void *usr, bool isMomCallback=false);
114  static void removeCallback(DtConnectionMgr *conn,
115  DtInteractionCb cb, void *usr, bool isMomCallback=false);
116 
117 protected:
118 
120  virtual DtNetParams* netParams();
121  virtual DtNetBigParams* netBigParams();
122 
124  virtual DtNetInteractionTsoMsg* netInterTsoMsg();
125  virtual const DtNetInteractionTsoMsg* netInterTsoMsg() const;
126 
129 
131 #ifdef DtIFSPEC1516
132  virtual int minSize(const DtPhvps* params=NULL,
133  rti1516::LogicalTime const * theTime=NULL,
134  rti1516::VariableLengthData const& theTag=theDefaultTag) const;
135 #elif defined(DtIFSPEC1516E)
136  virtual int minSize(const DtPhvps* params=NULL,
137  rti1516e::LogicalTime const * theTime=NULL,
138  rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
139 #else
140  virtual int minSize(const DtPhvps* params=NULL,
141  RTI::FedTime const * theTime=NULL,
142  char const * theTag=NULL) const;
143 #endif
144 
146  virtual void setTagSize(int size);
147  virtual int tagSize() const;
148 
150  virtual void setTimeSize(int size);
151  virtual int timeSize() const;
152 
154  virtual DtNetU32* channelPtr() const;
155 
157  virtual char* tagPtr();
158 
160  DtNetU32* serialNumberPtr() const;
161 
163  virtual char* timePtr();
164 
166  virtual int timeFieldSize() const;
167 
169  virtual DtInteractionTsoMsg* selfTso() const;
170 };
171 
172 inline DtInteractionTsoMsg* DtInteractionTsoMsg::selfTso() const
173 {
174  return const_cast<DtInteractionTsoMsg*>( this );
175 }
176 
177 #endif
178 #endif

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)