MAK RTIspy API Documentation for HLA 1516
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;
113
virtual
DtNetBigAttrs
* netBigAttrs() = 0;
114
116
virtual
DtNetAttrValue
* nextNetAttr(
DtNetAttrValue
* netAttr)
const
;
118
virtual
DtNetBigAttrValue
* nextNetBigAttr(
DtNetBigAttrValue
* netAttr)
const
;
119
125
virtual
void
fillFromNetAttrs(
126
const
DtNetAttrs
* netRepAttrs,
127
DtAhvps& attrs,
128
bool
useMsgMemory,
129
DtObjectClassInfo
* objDesc=
NULL
,
130
DtHandle
regionSetHandle=
DtDefaultRegionSetHandle
,
131
DtRtiObject
* obj=
NULL
,
132
float
tolerance=0.0)
const
;
133
140
virtual
void
fillFromNetBigAttrs(
141
const
DtNetBigAttrs
* netAttrs,
142
DtAhvps& attrs,
143
bool
useMsgMemory,
144
DtObjectClassInfo
* objDesc=
NULL
,
145
DtHandle
regionSetHandle=
DtDefaultRegionSetHandle
,
146
DtRtiObject
* obj=
NULL
,
147
float
tolerance=0.0)
const
;
148
150
virtual
void
fillNetAttrs(
151
const
DtAhvps& theAttributes,
152
DtNetAttrs
* netRepAttrs);
154
virtual
void
fillNetBigAttrs(
155
const
DtAhvps& attrs,
156
DtNetBigAttrs
* netAttrs);
157
159
virtual
void
setSizeOfNetAttrs(
unsigned
long
size);
160
162
virtual
unsigned
long
sizeNeededForNetAttrs(
163
const
DtAhvps& attrs)
const
;
164
166
virtual
int
channelFieldSize()
const
;
167
169
virtual
int
nameFieldSize()
const
;
170
172
virtual
int
tagFieldSize()
const
;
173
175
virtual
DtUpdateMsg
*
self
()
const
;
176
177
protected
:
178
#ifdef DtIFSPEC1516
179
rti1516::VariableLengthData
* myTag;
180
#elif defined(DtIFSPEC1516E)
181
rti1516e::VariableLengthData
* myTag;
182
#else
183
char
*
myTag
;
184
#endif
185
char
*
myName
;
186
int
myAttrFieldLength
;
187
188
protected
:
189
static
bool
theChannelIncluded
;
190
};
191
192
193
inline
DtUpdateMsg
*
DtUpdateMsg::self
()
const
194
{
195
return
const_cast<
DtUpdateMsg
*
>
( this );
196
}
197
198
inline
bool
DtUpdateMsg::channelIncluded
()
199
{
200
return
theChannelIncluded
;
201
}
202
203
#endif
204
Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)