VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
setRecordPdu.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 
18 #include "packets/setRecordP.h"
19 
20 
23 
25 
27 typedef void (*DtSetRecordPduCb)(DtSetRecordPdu* pdu, void* usr);
28 
29 
34 
36 {
37 
38 public:
39 
42  DtSetRecordPdu(const DtNetSetRecordPdu* initial,
43  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
44  DtSetRecordPdu(const DtSetRecordPdu& orig);
45 
47  virtual ~DtSetRecordPdu();
48 
51 
53  virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
54  virtual const DtEntityIdentifier& originatingEntityID() const;
55 
57  virtual void setReceivingEntityID(const DtEntityIdentifier& entity);
58  virtual const DtEntityIdentifier& receivingEntityID() const;
59 
61  virtual void setRequestID(DtU32 id);
62  virtual DtU32 requestID() const;
63 
65  virtual void setReqRelService(enum DtRequiredReliabilityService service);
66  virtual DtRequiredReliabilityService reqRelService() const;
67 
69  virtual void printData() const;
70  virtual void printDataToStream(std::ostream& stream) const;
71 
72 public:
73 
76  static DtPdu* create(const DtNetPacket* initial,
77  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
78 
81  static void addCallback(DtExerciseConn* conn,
82  DtSetRecordPduCb cb, void* usr);
83  static void removeCallback(DtExerciseConn* conn,
84  DtSetRecordPduCb cb, void* usr);
85 
86 protected:
87 
90 
92  virtual DtPduKind internalGetPduKind() const;
93 
96  virtual DtNetSetRecordPdu* netPduStruct() const;
97 
100  DtSetRecordPdu* self() const;
101 
102 protected:
103 
105  static const int theStaticSize;
106 
107 protected:
108 
111 
112 };
113 
114 #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: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtRecordSetPdu is an abstract base class used by PDUs which require the record set functionality...
Definition: recordSetPdu.h:23
virtual void printData() const
Print the data contained by this PDU.
The following is the network structure for the set-record PDU.
Definition: setRecordP.h:19
Definition: pduHeader.h:14
class DtPduFactory:
Definition: pduFactory.h:38
void(* DtSetRecordPduCb)(DtSetRecordPdu *pdu, void *usr)
DtSetRecordPdu callback function signature.
Definition: setRecordPdu.h:27
class DtSetRecordPdu:
Definition: setRecordPdu.h:35
virtual DtNetRecordSetPdu * netRecordSetPduStruct() const =0
Returns a pointer to the beginning of the record set data struct.
DtEntityIdentifier myEntityID
Temporary objects for reference returns.
Definition: setRecordPdu.h:110
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 DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
DtRecordSetPdu & operator=(const DtRecordSetPdu &orig)
Assignment operator.
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
virtual void printDataToStream(std::ostream &stream) const
Print the data to a stream.
DtSetRecordPdu DtSetRecordInteraction
Definition: setRecordPdu.h:22
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.
static const int theStaticSize
Size of PDU with zero data bytes.
Definition: setRecordPdu.h:105

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)