MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reqObjMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: reqObjMsg.h,v $ $Revision: 1.18 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtRequestMsg_H_
13 #define DtRequestMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netReqMsg.h"
17 
18 class DtConnectionMgr;
19 class DtRequestMsg;
21 
22 typedef void (*DtRequestCb)(const DtRequestMsg& inter, void* usr);
23 
25 {
29 };
30 
32 {
33 public:
34 
36  DtRequestMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
37 
39  DtRequestType type,
40  DtHandle idOrClass,
41  const DtAttributeHandleSet& theSet,
42 #ifdef DtIFSPEC1516
43  rti1516::VariableLengthData const & tag,
44 #elif defined(DtIFSPEC1516E)
45  rti1516e::VariableLengthData const & tag,
46 #else
47  char const * tag,
48 #endif
49  DtHandle regionSetHandle = theDefaultRegionSetHandle,
50  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
51 
53  DtRequestMsg(const DtNetRequestMsg* netRepMsg,
54  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
55 
57  virtual ~DtRequestMsg();
58 
60  virtual DtRtiMsg* clone(bool copy = true) const;
61 
63  virtual void set(
64  DtRequestType type,
65  DtHandle idOrClass,
66  const DtAttributeHandleSet& theSet,
67 #ifdef DtIFSPEC1516
68  rti1516::VariableLengthData const & tag,
69 #elif defined(DtIFSPEC1516E)
70  rti1516e::VariableLengthData const & tag,
71 #else
72  char const * tag,
73 #endif
74  DtHandle regionSetHandle = theDefaultRegionSetHandle);
75 
77  virtual DtRequestType requestType() const;
78  virtual void setRequestType(DtRequestType type);
79 
81 
83  virtual void setObjectClassHandle(DtObjectClassHandle hand);
84 
86  virtual DtObjectClassHandle objectClassHandle() const;
87 
89 
91  virtual void setId(DtObjectInstanceHandle id);
92 
94  virtual DtObjectInstanceHandle id() const;
95 
97  virtual void setRegionSet(DtHandle handleValue);
98  virtual DtHandle regionSet() const;
99 
101  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
102  virtual const DtAttributeHandleSet& attrHandles() const;
103 
105 #ifdef DtIFSPEC1516
106  virtual void setTag(rti1516::VariableLengthData const& tag);
107  virtual rti1516::VariableLengthData const& tag() const;
108 #elif defined(DtIFSPEC1516E)
109  virtual void setTag(rti1516e::VariableLengthData const& tag);
110  virtual rti1516e::VariableLengthData const& tag() const;
111 #else
112  virtual void setTag(char const * tag);
113  virtual char const * tag() const;
114 #endif
115 
117  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
118 
119 public:
120 
122  static DtRtiMsg* create(const DtNetMsgHeader* initial,
123  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
124 
126  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
127 
129  static void addCallback(DtConnectionMgr *conn,
130  DtRequestCb cb, void *usr, bool isMomCallback=false);
131  static void removeCallback(DtConnectionMgr *conn,
132  DtRequestCb cb, void *usr, bool isMomCallback=false);
133 
134 protected:
135 
137  virtual DtNetRequestMsg* netRequestMsg();
138  virtual const DtNetRequestMsg* netRequestMsg() const;
139 
142 
144 #ifdef DtIFSPEC1516
145  virtual int minSize(rti1516::VariableLengthData const * tag=NULL) const;
146 #elif defined(DtIFSPEC1516E)
147  virtual int minSize(rti1516e::VariableLengthData const * tag=NULL) const;
148 #else
149  virtual int minSize(char const * tag=NULL) const;
150 #endif
151 
153  virtual void setTagSize(int size);
154  virtual int tagSize() const;
155 
157  virtual int tagFieldSize() const;
158 
160  virtual char* tagPtr() const;
161 
163  virtual DtRequestMsg* self() const;
164 
165 protected:
166 
167  int myDirty;
169 #ifdef DtIFSPEC1516
171 #elif defined(DtIFSPEC1516E)
172  rti1516e::VariableLengthData* myTag;
173 #else
174  char* myTag;
175 #endif
176 };
177 
178 
180 {
181  return const_cast<DtRequestMsg*>( this );
182 }
183 
184 #endif
185 

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)