VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
minefieldResponseNackPdu.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/mineRsNackP.h"
20 
21 
23 
25 typedef void (*DtMinefieldResponseNackPduCb)
26  (DtMinefieldResponseNackPdu* pdu, void* usr);
27 
32 {
33 
34 public:
35 
39  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
41 
43  virtual ~DtMinefieldResponseNackPdu();
44 
47  const DtMinefieldResponseNackPdu& orig);
48 
50  virtual void setMinefieldID(const DtEntityIdentifier& id);
51  virtual const DtEntityIdentifier& minefieldID() const;
52 
54  virtual void setRequestingEntityID(const DtEntityIdentifier& id);
55  virtual const DtEntityIdentifier& requestingEntityID() const;
56 
58  virtual void setRequestID(DtU8 id);
59  virtual DtU8 requestID() const;
60 
62  virtual bool setNumMissingPDUs(DtU8 num);
63  virtual DtU8 numMissingPDUs() const;
64 
67  virtual bool setPDU_SequenceNumber(int index, DtU8 num);
68  virtual bool getPDU_SequenceNumber(int index, DtU8& num) const;
69 
71  virtual void printData() const;
72 
74  virtual void printDataToStream(std::ostream& stream) const;
75 
76 public:
77 
80  static DtPdu* create(const DtNetPacket* initial,
81  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
82 
85  static void addCallback(DtExerciseConn* conn,
86  DtMinefieldResponseNackPduCb cb, void* usr);
87  static void removeCallback(DtExerciseConn* conn,
88  DtMinefieldResponseNackPduCb cb, void* usr);
89 
90 protected:
91 
93  virtual DtPduKind internalGetPduKind() const;
94 
96  virtual DtNetMinefieldResponseNackPdu* netPduStruct() const;
97 
99  virtual char* var() const;
100 
103  DtMinefieldResponseNackPdu* self() const;
104 
105 protected:
106 
108  static const int theStaticSize;
109 
110 protected:
111 
114 
115 };
116 
117 #endif
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
DtEntityIdentifier myEntityID
Temporary objects for reference returns.
Definition: minefieldResponseNackPdu.h:113
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtMinefieldResponseNackPdu are used to request a retransmission of minefield data PDUs...
Definition: minefieldResponseNackPdu.h:31
Definition: pduHeader.h:14
class DtPduFactory:
Definition: pduFactory.h:38
The following is the network structure for the minefield response NACK PDU.
Definition: mineRsNackP.h:18
virtual void printDataToStream(std::ostream &stream) const
static const int theStaticSize
Size of PDU with zero parameter records.
Definition: minefieldResponseNackPdu.h:108
void(* DtMinefieldResponseNackPduCb)(DtMinefieldResponseNackPdu *pdu, void *usr)
DtMinefieldResponseNackPdu callback function signature.
Definition: minefieldResponseNackPdu.h:26
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
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
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).
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
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
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)