MAK RTIspy API Documentation for HLA 1.3
savRespMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: savRespMsg.h,v $ $Revision: 1.7 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtSaveResponseMsg_H_
13 #define DtSaveResponseMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netSavRespMsg.h"
17 
18 class DtConnectionMgr;
19 class DtSaveResponseMsg;
20 typedef void (*DtSaveResponseCb)(const DtSaveResponseMsg& inter, void* usr);
21 
23 {
27 };
28 
30 {
31 public:
32 
34  DtSaveResponseMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35 
36  DtSaveResponseMsg(DtFederateHandle requestingFederateVal,
37  unsigned short requestIDValue,
38  const char* labelVal,
39  DtSaveResponseFlag flag,
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
41 
43  DtSaveResponseMsg(const DtNetSaveResponseMsg* netRepMsg,
44  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
45 
47  virtual ~DtSaveResponseMsg();
48 
50  virtual DtRtiMsg* clone(bool copy = true) const;
51 
53  virtual void set(DtFederateHandle requestingFederateVal,
54  unsigned short requestIDValue, const char* theLabel,
55  DtSaveResponseFlag flag);
56 
58  void setRequestingFederate(DtFederateHandle requestingFederateVal);
59  DtFederateHandle requestingFederate() const;
60 
62  virtual void setRequestID(unsigned short requestIDValue);
63  virtual unsigned short requestID() const;
64 
66  virtual void setLabel(const char* label);
67  virtual const char* label() const;
68 
70  void setResponseFlag(DtSaveResponseFlag flag);
71  DtSaveResponseFlag responseFlag() const;
72 
74  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
75 
76 public:
77 
79  static DtRtiMsg* create(const DtNetMsgHeader* initial,
80  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
81 
83  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
84 
86  static void addCallback(DtConnectionMgr* conn,
87  DtSaveResponseCb cb, void* usr);
88  static void removeCallback(DtConnectionMgr* conn,
89  DtSaveResponseCb cb, void* usr);
90 
91 protected:
92 
94  virtual DtNetSaveResponseMsg* netSaveResponseMsg();
95  virtual const DtNetSaveResponseMsg* netSaveResponseMsg() const;
96 
99 
101  virtual char* labelPtr();
102 
104  virtual int labelFieldSize() const;
105 
107  virtual void setLabelSize(int size);
108  virtual int labelSize() const;
109 
111  virtual int minSize(const char* theLabel=NULL) const;
112 
114  virtual DtSaveResponseMsg* self() const;
115 
116 protected:
117 
118  char* myLabel;
119 };
120 
121 
123 {
124  return const_cast<DtSaveResponseMsg*>( this );
125 }
126 
127 #endif
128 

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)