MAK RTIspy API Documentation for HLA 1516
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 
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
180 #elif defined(DtIFSPEC1516E)
182 #else
183  char* myTag;
184 #endif
185  char* myName;
187 
188 protected:
189  static bool theChannelIncluded;
190 };
191 
192 
194 {
195  return const_cast<DtUpdateMsg*>( this );
196 }
197 
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)