VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
recordQueryPdu.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 <vlutil/vlMachineTypes.h>
15 #include "hostStructs.h"
16 #include "interactionDIS.h"
17 #include "exerciseConn.h"
18 
19 #include "packets/recQueryP.h"
20 
21 
23 
25 typedef void (*DtRecordQueryPduCb)(DtRecordQueryPdu* pdu, void* usr);
26 
27 
32 {
33 
34 public:
35 
39  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
41 
43  virtual ~DtRecordQueryPdu();
44 
47 
49  virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
50  virtual const DtEntityIdentifier& originatingEntityID() const;
51 
53  virtual void setReceivingEntityID(const DtEntityIdentifier& entity);
54  virtual const DtEntityIdentifier& receivingEntityID() const;
55 
57  virtual void setRequestID(DtU32 id);
58  virtual DtU32 requestID() const;
59 
61  virtual void setReqRelService(enum DtRequiredReliabilityService service);
62  virtual DtRequiredReliabilityService reqRelService() const;
63 
65  virtual void setEventType(DtEventType type);
66  virtual DtEventType eventType() const;
67 
69  virtual void setTime(DtU32 value);
70  virtual DtU32 time() const;
71 
74  virtual bool setNumRecords(DtU32 num);
75  virtual DtU32 numRecords() const;
76 
79  virtual bool setRecordID(int index, DtDatumParam value);
80  virtual bool getRecordID(int index, DtDatumParam& value) const;
81 
83  virtual void printData() const;
84 
86  virtual void printDataToStream(std::ostream &stream) const;
87 
88 public:
89 
92  static DtPdu* create(const DtNetPacket* initial,
93  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
94 
97  static void addCallback(DtExerciseConn* conn,
98  DtRecordQueryPduCb cb, void* usr);
99  static void removeCallback(DtExerciseConn* conn,
100  DtRecordQueryPduCb cb, void* usr);
101 
102 protected:
103 
105  virtual DtPduKind internalGetPduKind() const;
106 
109  virtual DtNetRecordQueryPdu* netPduStruct() const;
110 
113  DtRecordQueryPdu* self() const;
114 
116  virtual char* var() const;
117 
118 protected:
119 
121  static const int theStaticSize;
122 
123 protected:
124 
127 
128 };
129 
130 #endif
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
DtRequiredReliabilityService
Reliable service PDU enums.
Definition: disEnums.h:2407
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
DtEntityIdentifier myEntityID
Temporary objects for reference returns.
Definition: recordQueryPdu.h:126
class DtPduFactory:
Definition: pduFactory.h:38
virtual void printDataToStream(std::ostream &stream) const
static const int theStaticSize
Size of PDU with zero data bytes.
Definition: recordQueryPdu.h:121
virtual DtPduKind internalGetPduKind() const =0
Returns the PDU kind associated with the derived PDU class.
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
Instances of DtRecordQueryPdu are used to request data records from an entity.
Definition: recordQueryPdu.h:31
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
virtual void printData() const
Print the PDU&#39;s data (not including header).
DtEventType
Definition: disEnums.h:479
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
void(* DtRecordQueryPduCb)(DtRecordQueryPdu *pdu, void *usr)
DtRecordQueryPdu callback function signature.
Definition: recordQueryPdu.h:25
DtDatumParam
([UID 66]) - Datum ID
Definition: disEnums.h:501
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
The following is the network structure for the Record-Query-R PDU.
Definition: recQueryP.h:18
This file contains typedefs for machine dependant types.

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)