VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dataRPdu.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 "pduWithData.h"
16 #include <vlpi/idTypeMap.h>
17 #include "packets/dataRP.h"
18 #include "exerciseConn.h"
19 
20 
21 
22 class DT_DLL_VL DtDataRPdu;
23 
25 typedef void (*DtDataRPduCb)(DtDataRPdu* pdu, void* usr);
26 
31 {
32 public:
35  DtDataRPdu(const DtNetDataRPdu* initial,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
37  DtDataRPdu(const DtDataRPdu& orig);
38 
40  virtual ~DtDataRPdu();
41 
43  DtDataRPdu& operator=(const DtDataRPdu& orig);
44 
46  virtual void setRequestId(unsigned long id);
47  virtual unsigned long requestId() const;
48 
50  virtual void setReqRelService(DtRequiredReliabilityService value);
51  virtual DtRequiredReliabilityService reqRelService() const;
52 
54  virtual void printData() const;
55 
57  virtual void printDataToStream(std::ostream& stream) const;
58 
59 public:
62  static DtPdu* create(const DtNetPacket* initial,
63  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
64 
67  static void addCallback(DtExerciseConn* conn,
68  DtDataRPduCb cb, void* usr);
69  static void removeCallback(DtExerciseConn* conn,
70  DtDataRPduCb cb, void* usr);
71 
72 protected:
74  virtual DtPduKind internalGetPduKind() const;
75 
77  virtual DtNetDataPduTail* dataSection() const;
78 
79 protected:
80 
81  static const int theStaticSize;
82 
83 };
84 
86 {
87  return DtDataRPduKind;
88 }
89 
90 #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)