MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
updateRoMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: updateRoMsg.h,v $ $Revision: 1.12 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtUpdateRoMsg_H_
13 #define DtUpdateRoMsg_H_
14 
15 #include "updateMsg.h"
16 #include "netUpdateMsg.h"
17 
19 
20 class DtConnectionMgr;
21 
23 {
24 public:
25 
27  DtUpdateRoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
28 
30  DtObjectInstanceHandle objHand,
31  const char* objName,
32  DtObjectClassHandle classHand,
33  const DtAhvpBase& theAttributes,
34 #ifdef DtIFSPEC1516
35  rti1516::VariableLengthData const& theTag,
36 #elif defined(DtIFSPEC1516E)
37  rti1516e::VariableLengthData const& theTag,
38 #else
39  char const * theTag,
40 #endif
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
43  DtUpdateRoMsg(const DtNetUpdateMsg* netRepMsg,
44  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
45 
47  virtual ~DtUpdateRoMsg();
48 
50  virtual DtRtiMsg* clone(bool copy = true) const;
51 
53  virtual void set(
54  DtObjectInstanceHandle objHand,
55  const char* objName,
56  DtObjectClassHandle theClass,
57  const DtAhvpBase& theAttributes,
58 #ifdef DtIFSPEC1516
59  rti1516::VariableLengthData const& theTag);
60 #elif defined(DtIFSPEC1516E)
61  rti1516e::VariableLengthData const& theTag);
62 #else
63  char const * theTag);
64 #endif
65 
67  virtual void setClassHandle(DtObjectClassHandle hand);
68  virtual DtObjectClassHandle classHandle() const;
69 
71  virtual void setObjHandle(DtObjectInstanceHandle id);
72  virtual DtObjectInstanceHandle objHandle() const;
73 
75  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
76 
77 public:
78 
80  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
81  static DtRtiMsg* create(const DtNetMsgHeader* initial,
82  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
83 
85  static void addCallback(DtConnectionMgr *conn, DtUpdateCb cb, void *usr);
86  static void removeCallback(DtConnectionMgr *conn, DtUpdateCb cb, void *usr);
87 
88 protected:
89 
91  virtual DtNetUpdateMsg* netUpdateRoMsg();
92  virtual const DtNetUpdateMsg* netUpdateRoMsg() const;
93 
96 
98  virtual int minSize(const DtAhvpBase* attrs=NULL,
99  const char* objName=NULL,
100 #ifdef DtIFSPEC1516
101  rti1516::VariableLengthData const& theTag=theDefaultTag) const;
102 #elif defined(DtIFSPEC1516E)
103  rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
104 #else
105  char const * theTag=theDefaultTag) const;
106 #endif
107 
109  virtual void setNameSize(int size);
110  virtual int nameSize() const;
111 
113  virtual void setTagSize(int size);
114  virtual int tagSize() const;
115 
117  virtual DtNetAttrs* netAttrs();
118  virtual DtNetBigAttrs* netBigAttrs();
119 
121  virtual DtNetU32* channelPtr() const;
122 
124  virtual char* namePtr();
125 
127  virtual char* tagPtr();
128 
130  virtual DtUpdateRoMsg* selfRo() const;
131 };
132 
134 {
135  return const_cast<DtUpdateRoMsg*>( this );
136 }
137 
138 #endif
139 

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)