VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dataQueryRPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include "hostStructs.h"
15 #include "simanPdu.h"
16 #include "packets/dataQueryRP.h"
17 #include "exerciseConn.h"
18 
19 
20 
21 class DT_DLL_VL DtDataQueryRPdu;
22 
24 typedef void (*DtDataQueryRPduCb)(DtDataQueryRPdu* pdu, void* usr);
25 
29 class DT_DLL_VL DtDataQueryRPdu : public DtSimanPdu
30 {
31 public:
33  DtDataQueryRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
34  DtDataQueryRPdu(const DtNetDataQueryRPdu* initial,
35  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
36  DtDataQueryRPdu(const DtDataQueryRPdu& orig);
37 
39  virtual ~DtDataQueryRPdu();
40 
42  DtDataQueryRPdu& operator=(const DtDataQueryRPdu& orig);
43 
45  virtual void setRequestId(unsigned long id);
46  virtual unsigned long requestId() const;
47 
49  virtual void setTimeInterval(DtTime seconds);
50  virtual DtTime timeInterval() const;
51 
53  virtual unsigned long numFixedFields() const;
54 
56  virtual unsigned long numVarFields() const;
57 
59  virtual int setFixedDatumId(int index, DtDatumParam id);
60  virtual DtDatumParam fixedDatumId(int index) const;
61 
63  virtual int setVarDatumId(int index, DtDatumParam id);
64  virtual DtDatumParam varDatumId(int index) const;
65 
67  virtual void setReqRelService(DtRequiredReliabilityService value);
68  virtual DtRequiredReliabilityService reqRelService() const;
69 
71  virtual void initDatumIds(unsigned long numFixedFields,
72  unsigned long numVarFields);
73 
75  virtual void printData() const;
76 
78  virtual void printDataToStream(std::ostream& stream) const;
79 
80 public:
83  static DtPdu* create(const DtNetPacket* initial,
84  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
85 
88  static void addCallback(DtExerciseConn* conn,
89  DtDataQueryRPduCb cb, void* usr);
90  static void removeCallback(DtExerciseConn* conn,
91  DtDataQueryRPduCb cb, void* usr);
92 
93 protected:
94 
96  virtual DtPduKind internalGetPduKind() const;
97 
98 protected:
99 
100  static const int theStaticSize;
101 
102 };
103 
104 inline DtPduKind DtDataQueryRPdu::internalGetPduKind() const
105 {
106  return DtDataQueryRPduKind;
107 }
108 
109 #endif

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)