![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtTransferControlRequestPdu_H_ 00011 #define DtTransferControlRequestPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include <vlutil/vlMachineTypes.h> 00016 #include "hostStructs.h" 00017 #include "recordSetPdu.h" 00018 #include "exerciseConn.h" 00019 00020 #include "packets/transCtlP.h" 00021 00022 00023 class DT_DLL_VL DtTransferControlRequestPdu; 00024 00025 typedef DtTransferControlRequestPdu DtTransferControlInteraction; 00026 00028 typedef void (*DtTransferControlRequestPduCb) 00029 (DtTransferControlRequestPdu* pdu, void* usr); 00030 00031 00035 class DT_DLL_VL DtTransferControlRequestPdu : public DtRecordSetPdu 00036 { 00037 00038 public: 00039 00041 DtTransferControlRequestPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00042 DtTransferControlRequestPdu(const DtNetTransferControlRequestPdu* initial, 00043 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00044 DtTransferControlRequestPdu(const DtTransferControlRequestPdu& orig); 00045 00047 virtual ~DtTransferControlRequestPdu(); 00048 00050 DtTransferControlRequestPdu& operator=( 00051 const DtTransferControlRequestPdu& orig); 00052 00054 virtual void setOriginatingEntityID(const DtEntityIdentifier& entity); 00055 virtual const DtEntityIdentifier& originatingEntityID() const; 00056 00058 virtual void setReceivingEntityID(const DtEntityIdentifier& entity); 00059 virtual const DtEntityIdentifier& receivingEntityID() const; 00060 00062 virtual void setRequestID(DtU32 id); 00063 virtual DtU32 requestID() const; 00064 00066 virtual void setReqRelService(enum DtRequiredReliabilityService service); 00067 virtual DtRequiredReliabilityService reqRelService() const; 00068 00070 virtual void setTransferType(DtTransferType type); 00071 virtual DtTransferType transferType() const; 00072 00074 virtual void setTransferredEntityID(const DtEntityIdentifier& entity); 00075 virtual const DtEntityIdentifier& transferredEntityID() const; 00076 00078 virtual void printData() const; 00079 virtual void printDataToStream(std::ostream& stream) const; 00080 00081 public: 00082 00085 static DtPdu* create(const DtNetPacket* initial, 00086 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00087 00090 static void addCallback(DtExerciseConn* conn, 00091 DtTransferControlRequestPduCb cb, void* usr); 00092 static void removeCallback(DtExerciseConn* conn, 00093 DtTransferControlRequestPduCb cb, void* usr); 00094 00095 protected: 00096 00098 virtual DtNetRecordSetPdu* netRecordSetPduStruct() const; 00099 00101 virtual DtPduKind internalGetPduKind() const; 00102 00105 virtual DtNetTransferControlRequestPdu* netPduStruct() const; 00106 00109 DtTransferControlRequestPdu* self() const; 00110 00111 protected: 00112 00114 static const int theStaticSize; 00115 00116 protected: 00117 00119 DtEntityIdentifier myEntityID; 00120 00121 }; 00122 00123 #endif 00124 #endif 00125