MAK RTIspy API Documentation for HLA 1.3
updateTsoMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: updateTsoMsg.h,v $ $Revision: 1.12 $ $State: Exp $
7 *********************************************************************/
8 
11 
13 #ifndef DtUpdateTsoMsg_H_
14 #define DtUpdateTsoMsg_H_
15 
16 #ifdef DtTIME
17 
18 #include "updateMsg.h"
19 #include "netUpdateTsoMsg.h"
20 
21 class DtConnectionMgr;
22 
23 class DT_DLL_LRC DtUpdateTsoMsg : public DtUpdateMsg
24 {
25 public:
26 
28  DtUpdateTsoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
29 
30  DtUpdateTsoMsg(
31  DtObjectInstanceHandle objHand,
32  const char* objName,
33  DtObjectClassHandle classHand,
34  const DtAhvps& theAttributes,
35  DtOrderHandle order,
36 #ifdef DtIFSPEC1516
37  rti1516::LogicalTime const & theTime,
38  rti1516::VariableLengthData const& theTag,
39 #elif defined(DtIFSPEC1516E)
40  rti1516e::LogicalTime const & theTime,
41  rti1516e::VariableLengthData const& theTag,
42 #else
43  RTI::FedTime const & theTime,
44  char const * theTag,
45 #endif
46  unsigned long serialNumberVal,
47  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48 
49  DtUpdateTsoMsg(const DtNetUpdateTsoMsg* netRepMsg,
50  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
51 
53  virtual ~DtUpdateTsoMsg();
54 
56  virtual DtRtiMsg* clone(bool copy = true) const;
57 
59  virtual void set(
60  DtObjectInstanceHandle objHand,
61  const char* objName,
62  DtObjectClassHandle theClass,
63  const DtAhvps& theAttributes,
64  DtOrderHandle order,
65 #ifdef DtIFSPEC1516
66  rti1516::LogicalTime const & theTime,
67  rti1516::VariableLengthData const& theTag,
68 #elif defined(DtIFSPEC1516E)
69  rti1516e::LogicalTime const & theTime,
70  rti1516e::VariableLengthData const& theTag,
71 #else
72  RTI::FedTime const & theTime,
73  char const * theTag,
74 #endif
75  unsigned long serialNumberVal);
76 
78  virtual void setClassHandle(DtObjectClassHandle hand);
79  virtual DtObjectClassHandle classHandle() const;
80 
82  virtual void setObjHandle(DtObjectInstanceHandle id);
83  virtual DtObjectInstanceHandle objHandle() const;
84 
86  virtual void setOrderType(DtOrderHandle type);
87  virtual DtOrderHandle orderType() const;
88 
90 #ifdef DtIFSPEC1516
91  virtual void setTime(rti1516::LogicalTime const & time);
92  virtual rti1516::LogicalTime const * time(
93  DtLogicalTimeFactory* logicalTimeFactory) const;
94 #elif defined(DtIFSPEC1516E)
95  virtual void setTime(rti1516e::LogicalTime const & time);
96  virtual rti1516e::LogicalTime const * time(
97  DtLogicalTimeFactory* logicalTimeFactory) const;
98 #else
99  virtual void setTime(RTI::FedTime const & time);
100  virtual RTI::FedTime const * time(
101  DtLogicalTimeFactory* logicalTimeFactory) const;
102 #endif
103 
105  virtual void setSerialNumber(unsigned long handleValue);
106  virtual unsigned long serialNumber() const;
107 
109  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
110 
111 public:
112 
114  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
115  static DtRtiMsg* create(const DtNetMsgHeader* initial,
116  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
117 
119  static void addCallback(DtConnectionMgr *conn, DtUpdateCb cb, void *usr);
120  static void removeCallback(DtConnectionMgr *conn, DtUpdateCb cb, void *usr);
121 
122 protected:
123 
125  virtual DtNetUpdateTsoMsg* netUpdateTsoMsg();
126  virtual const DtNetUpdateTsoMsg* netUpdateTsoMsg() const;
127 
130 
132 #ifdef DtIFSPEC1516
133  virtual int minSize(rti1516::LogicalTime const * theTime=NULL,
134  DtAhvps const * attrs=NULL,
135  char const * objName=NULL,
136  rti1516::VariableLengthData const& theTag=theDefaultTag) const;
137 #elif defined(DtIFSPEC1516E)
138  virtual int minSize(rti1516e::LogicalTime const * theTime=NULL,
139  DtAhvps const * attrs=NULL,
140  char const * objName=NULL,
141  rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
142 #else
143  virtual int minSize(RTI::FedTime const * theTime=NULL,
144  DtAhvps const * attrs=NULL,
145  char const * objName=NULL,
146  char const * theTag=NULL) const;
147 #endif
148 
150  virtual void setNameSize(int size);
151  virtual int nameSize() const;
152 
154  virtual void setTagSize(int size);
155  virtual int tagSize() const;
156 
158  virtual void setTimeSize(int size);
159  virtual int timeSize() const;
160 
162  virtual DtNetAttrs* netAttrs();
163  virtual DtNetBigAttrs* netBigAttrs();
164 
166  virtual DtNetU32* channelPtr() const;
167 
169  virtual char* timePtr();
170 
172  virtual char* namePtr();
173 
175  virtual char* tagPtr();
176 
178  virtual int timeFieldSize() const;
179 
181  virtual DtUpdateTsoMsg* selfTso() const;
182 };
183 
184 inline DtUpdateTsoMsg* DtUpdateTsoMsg::selfTso() const
185 {
186  return const_cast<DtUpdateTsoMsg*>( this );
187 }
188 
189 #endif
190 #endif

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)