![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef DtAcknowledgePdu_H_ 00007 #define DtAcknowledgePdu_H_ 00008 00012 00013 #if DtDIS 00014 00015 #include "hostStructs.h" 00016 #include "simanPdu.h" 00017 00018 class DT_DLL_VL DtExerciseConn; 00019 class DT_DLL_VL DtAcknowledgePdu; 00020 typedef DtAcknowledgePdu DtAcknowledgeInteraction; 00021 00023 typedef void (*DtAcknowledgeInteractionCb) 00024 (DtAcknowledgeInteraction *pdu, void *usr); 00025 00031 class DT_DLL_VL DtAcknowledgePdu : public DtSimanPdu 00032 { 00033 public: 00034 00035 enum { PduStaticSize = 32 }; 00036 00037 public: 00038 00039 00041 DtAcknowledgePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00042 DtAcknowledgePdu(const DtNetAcknowledgePdu *initial, 00043 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00044 00045 DtAcknowledgePdu(const DtEntityIdentifier &to, 00046 const DtEntityIdentifier &from, 00047 DtAcknowledgeFlag aFlag, 00048 DtResponseFlag rFlag, 00049 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00050 00051 00053 DtAcknowledgeFlag acknowledgeFlag() const; 00054 void setAcknowledgeFlag(DtAcknowledgeFlag flag); 00055 00057 DtResponseFlag responseFlag() const; 00058 void setResponseFlag(DtResponseFlag flag); 00059 00061 int requestId() const; 00062 void setRequestId(int id); 00063 00065 virtual void printData() const; 00066 00068 virtual void printDataToStream(std::ostream& stream) const; 00069 00070 public: 00071 00074 static DtPdu *create(const DtNetPacket *initial, 00075 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00076 00079 static void addCallback(DtExerciseConn *conn, 00080 DtAcknowledgeInteractionCb cb, void *usr); 00081 static void removeCallback(DtExerciseConn *conn, 00082 DtAcknowledgeInteractionCb cb, void *usr); 00083 00084 protected: 00086 DtPduKind internalGetPduKind() const {return DtAcknowledgePduKind;} 00087 00088 }; 00089 00090 #endif 00091 #endif 00092