MAK RTIspy API Documentation for HLA Evolved
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
libsrc
RTI
updateMsg.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1998 MaK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
/*********************************************************************
6
** $RCSfile: updateMsg.h,v $ $Revision: 1.25 $ $State: Exp $
7
*********************************************************************/
8
11
12
#ifndef DtUpdateMsg_H_
13
#define DtUpdateMsg_H_
14
15
#include "
rtiMsConfig.h
"
16
#include "
rtiMsg.h
"
17
#include "
netAttrs.h
"
18
#include "
rtiObject.h
"
20
#include "
RIDparams.h
"
21
class
DtAhvps;
22
class
DtUpdateMsg
;
23
class
DtObjectClassInfo
;
24
25
typedef
void (*
DtUpdateCb
)(
const
DtUpdateMsg
& msg,
void
* usr);
26
27
class
DT_DLL_LRC
DtUpdateMsg
:
public
DtRtiMsg
28
{
29
public
:
30
32
DtUpdateMsg
(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
33
35
virtual
~
DtUpdateMsg
();
36
38
virtual
void
setClassHandle(
DtObjectClassHandle
hand) = 0;
39
virtual
DtObjectClassHandle
classHandle()
const
= 0;
40
42
virtual
void
setObjHandle(
DtObjectInstanceHandle
id
) = 0;
43
virtual
DtObjectInstanceHandle
objHandle()
const
= 0;
44
46
virtual
void
setChannel(
unsigned
long
handleValue);
47
virtual
unsigned
long
channel()
const
;
48
50
virtual
void
setObjName(
const
char
* name);
51
virtual
const
char
* objName()
const
;
52
54
#ifdef DtIFSPEC1516
55
virtual
void
setTag(
rti1516::VariableLengthData
const
& tag);
56
virtual
rti1516::VariableLengthData
const
& tag()
const
;
57
#elif defined(DtIFSPEC1516E)
58
virtual
void
setTag(
rti1516e::VariableLengthData
const
& tag);
59
virtual
rti1516e::VariableLengthData
const
& tag()
const
;
60
#else
61
virtual
void
setTag(
char
const
* tag);
62
virtual
char
const
* tag()
const
;
63
#endif
64
66
virtual
void
setAttrs(
67
const
DtAhvps& theAttributes,
68
bool
checkBufferSize=
true
);
69
75
virtual
void
getAttrs(DtAhvps& attrSetBuff,
76
bool
useMsgMemory,
77
DtObjectClassInfo
* objDesc=
NULL
,
78
DtHandle
regionSetHandle=
DtDefaultRegionSetHandle
,
79
DtRtiObject
* obj=
NULL
,
80
float
tolerance=0.0)
const
;
81
83
virtual
unsigned
long
numAttrs()
const
;
84
85
public
:
86
88
static
void
setChannelIncluded(
bool
includeChannel);
89
static
bool
channelIncluded();
90
91
protected
:
92
94
virtual
void
setNameSize(
int
size) = 0;
95
virtual
int
nameSize()
const
= 0;
96
98
virtual
void
setTagSize(
int
size) = 0;
99
virtual
int
tagSize()
const
= 0;
100
102
virtual
DtNetU32* channelPtr()
const
=0;
103
105
virtual
char
* namePtr()=0;
106
108
virtual
char
* tagPtr()=0;
109
111
virtual
DtNetAttrs
* netAttrs() = 0;
112
115
virtual
DtNetBigAttrs
* netBigAttrs() = 0;
116
119
virtual
DtNetAttrValue
* nextNetAttr(
char
* netAttrTail)
const
;
120
124
virtual
DtNetBigAttrValue
* nextNetBigAttr(
char
* netAttrTail)
const
;
125
131
virtual
void
fillFromNetAttrs(
132
const
DtNetAttrs
* netRepAttrs,
133
DtAhvps& attrs,
134
bool
useMsgMemory,
135
DtObjectClassInfo
* objDesc=
NULL
,
136
DtHandle
regionSetHandle=
DtDefaultRegionSetHandle
,
137
DtRtiObject
* obj=
NULL
,
138
float
tolerance=0.0)
const
;
139
147
virtual
void
fillFromNetBigAttrs(
148
const
DtNetBigAttrs
* netAttrs,
149
DtAhvps& attrs,
150
bool
useMsgMemory,
151
DtObjectClassInfo
* objDesc=
NULL
,
152
DtHandle
regionSetHandle=
DtDefaultRegionSetHandle
,
153
DtRtiObject
* obj=
NULL
,
154
float
tolerance=0.0)
const
;
155
157
virtual
void
fillNetAttrs(
158
const
DtAhvps& theAttributes,
159
DtNetAttrs
* netRepAttrs);
160
163
virtual
void
fillNetBigAttrs(
164
const
DtAhvps& attrs,
165
DtNetBigAttrs
* netAttrs);
166
168
virtual
void
adjustBufferForAttrs(
const
DtAhvps& attrs);
169
171
virtual
unsigned
long
sizeNeededForNetAttr(
unsigned
long
attrOffset,
172
unsigned
long
attrSize)
const
;
173
175
virtual
unsigned
long
sizeNeededForNetAttrs(
unsigned
long
offset,
const
DtAhvps& attrs)
const
;
176
178
virtual
int
channelFieldSize()
const
;
179
181
virtual
int
tagFieldSize()
const
;
182
184
virtual
int
nameFieldSize()
const
;
185
187
virtual
int
attrAlignPaddingSize(
unsigned
long
offset)
const
;
188
190
virtual
DtUpdateMsg
*
self
()
const
;
191
192
protected
:
193
#ifdef DtIFSPEC1516
194
rti1516::VariableLengthData
* myTag;
195
#elif defined(DtIFSPEC1516E)
196
rti1516e::VariableLengthData
* myTag;
197
#endif
198
int
myAttrHdrAlignment
;
199
int
myAttrListHdrSize
;
200
int
myAttrHdrSize
;
201
unsigned
long
myMaxAttrSize
;
202
203
protected
:
204
static
bool
theChannelIncluded
;
205
};
206
207
208
inline
DtUpdateMsg
*
DtUpdateMsg::self
()
const
209
{
210
return
const_cast<
DtUpdateMsg
*
>
( this );
211
}
212
213
inline
bool
DtUpdateMsg::channelIncluded
()
214
{
215
return
theChannelIncluded
;
216
}
217
218
#endif
219
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
)