![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00008 00009 #ifndef DtSetDataPdu_H_ 00010 #define DtSetDataPdu_H_ 00011 00012 #if DtDIS 00013 00014 #include "hostStructs.h" 00015 #include "pduWithData.h" 00016 #include <vlpi/datumIdType.h> 00017 00018 00019 class DT_DLL_VL DtExerciseConn; 00020 class DT_DLL_VL DtSetDataPdu; 00021 typedef DtSetDataPdu DtSetDataInteraction; 00022 00024 typedef void (*DtSetDataPduCb)(DtSetDataPdu *pdu, void *usr); 00025 00029 class DT_DLL_VL DtSetDataPdu : public DtPduWithData 00030 { 00031 public: 00032 00033 enum { PduStaticSize=40 }; 00034 00035 public: 00037 DtSetDataPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00038 DtSetDataPdu(const DtNetSetDataPdu *initial, 00039 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00040 00043 static DtPdu *create(const DtNetPacket *initial, 00044 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00045 00048 static void addCallback(DtExerciseConn *conn, 00049 DtSetDataPduCb cb, void *usr); 00050 static void removeCallback(DtExerciseConn *conn, 00051 DtSetDataPduCb cb, void *usr); 00052 00054 unsigned long requestId() const; 00055 void setRequestId(unsigned long id); 00056 00058 virtual void printData() const; 00059 00061 virtual void printDataToStream(std::ostream& stream) const; 00062 00063 protected: 00065 DtPduKind internalGetPduKind() const {return DtSetDataPduKind;} 00066 00068 DtNetDataPduTail *dataSection() const; 00069 }; 00070 00071 #endif 00072 #endif 00073 00074