VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
recordPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 MAK Technologies, Inc
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 "recordSetPdu.h"
17 #include "exerciseConn.h"
18 
19 #include "packets/recordP.h"
20 
21 
22 class DT_DLL_VL DtRecordPdu;
23 
24 typedef DtRecordPdu DtRecordRInteraction;
25 
27 typedef void (*DtRecordPduCb)(DtRecordPdu* pdu, void* usr);
28 
29 
32 class DT_DLL_VL DtRecordPdu : public DtRecordSetPdu
33 {
34 
35 public:
36 
38  DtRecordPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39  DtRecordPdu(const DtNetRecordPdu* initial,
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
41  DtRecordPdu(const DtRecordPdu& orig);
42 
44  virtual ~DtRecordPdu();
45 
47  DtRecordPdu& operator=(const DtRecordPdu& orig);
48 
50  virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
51  virtual const DtEntityIdentifier& originatingEntityID() const;
52 
54  virtual void setReceivingEntityID(const DtEntityIdentifier& entity);
55  virtual const DtEntityIdentifier& receivingEntityID() const;
56 
58  virtual void setRequestID(DtU32 id);
59  virtual DtU32 requestID() const;
60 
62  virtual void setReqRelService(enum DtRequiredReliabilityService service);
63  virtual DtRequiredReliabilityService reqRelService() const;
64 
66  virtual void setEventType(DtEventType type);
67  virtual DtEventType eventType() const;
68 
70  virtual void setResponseSerialNumber(DtU32 num);
71  virtual DtU32 responseSerialNumber() const;
72 
74  virtual void printData() const;
75 
77  virtual void printDataToStream(std::ostream& stream) const;
78 
79 public:
80 
83  static DtPdu* create(const DtNetPacket* initial,
84  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
85 
88  static void addCallback(DtExerciseConn* conn,
89  DtRecordPduCb cb, void* usr);
90  static void removeCallback(DtExerciseConn* conn,
91  DtRecordPduCb cb, void* usr);
92 
93 protected:
94 
96  virtual DtNetRecordSetPdu* netRecordSetPduStruct() const;
97 
99  virtual DtPduKind internalGetPduKind() const;
100 
103  virtual DtNetRecordPdu* netPduStruct() const;
104 
107  DtRecordPdu* self() const;
108 
109 protected:
110 
112  static const int theStaticSize;
113 
114 protected:
115 
117  DtEntityIdentifier myEntityID;
118 
119 };
120 
121 #endif
DtRequiredReliabilityService
Reliable service PDU enums.
Definition: disEnums.h:2497
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
class DtRecordRInteraction:
Definition: recordRInteractionHLA.h:32
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
DtEventType
Definition: disEnums.h:483
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
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
DtNetRecordSetPdu is the network structure for a record set used by the PDU classes which inherit fro...
Definition: recordSet.h:29
This file contains typedefs for machine dependant types.

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)