![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef DtAcknowledgeRPdu_H_ 00007 #define DtAcknowledgeRPdu_H_ 00008 00012 00013 #if DtDIS 00014 00015 #include "hostStructs.h" 00016 #include "simanPdu.h" 00017 #include "packets/ackRP.h" 00018 #include "exerciseConn.h" 00019 00020 class DT_DLL_VL DtAcknowledgeRPdu; 00021 00022 00024 typedef void (*DtAcknowledgeRPduCb)(DtAcknowledgeRPdu* pdu, void* usr); 00025 00031 class DT_DLL_VL DtAcknowledgeRPdu : public DtSimanPdu 00032 { 00033 public: 00034 00036 DtAcknowledgeRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00038 DtAcknowledgeRPdu(const DtNetAcknowledgeRPdu* initial, 00039 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00040 00041 DtAcknowledgeRPdu(const DtAcknowledgeRPdu& orig); 00042 00044 virtual ~DtAcknowledgeRPdu(); 00045 00047 DtAcknowledgeRPdu& operator=(const DtAcknowledgeRPdu& orig); 00048 00050 virtual void setAcknowledgeFlag(DtAcknowledgeFlag flag); 00051 virtual DtAcknowledgeFlag acknowledgeFlag() const; 00052 00054 virtual void setResponseFlag(DtResponseFlag flag); 00055 virtual DtResponseFlag responseFlag() const; 00056 00058 virtual void setRequestId(int id); 00059 virtual int requestId() const; 00060 00062 virtual void printData() const; 00063 00065 virtual void printDataToStream(std::ostream& stream) const; 00066 00067 public: 00068 00071 static DtPdu* create(const DtNetPacket* initial, 00072 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00073 00076 static void addCallback(DtExerciseConn* conn, 00077 DtAcknowledgeRPduCb cb, void* usr); 00078 static void removeCallback(DtExerciseConn* conn, 00079 DtAcknowledgeRPduCb cb, void* usr); 00080 00081 protected: 00082 00084 virtual DtPduKind internalGetPduKind() const; 00085 00086 protected: 00087 00089 static const int theStaticSize; 00090 00091 }; 00092 00093 inline DtPduKind DtAcknowledgeRPdu::internalGetPduKind() const 00094 { 00095 return DtAcknowledgeRPduKind; 00096 } 00097 00098 #endif 00099 #endif 00100