![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtRemoveEntityPdu_H_ 00011 #define DtRemoveEntityPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include "hostStructs.h" 00016 #include "simanPdu.h" 00017 00018 00019 class DT_DLL_VL DtExerciseConn; 00020 00021 class DT_DLL_VL DtRemoveEntityPdu; 00022 typedef DtRemoveEntityPdu DtRemoveEntityInteraction; 00023 00025 typedef void (*DtRemoveEntityPduCb)(DtRemoveEntityPdu *pdu, void *usr); 00026 00030 class DT_DLL_VL DtRemoveEntityPdu : public DtSimanPdu 00031 { 00032 public: 00033 00034 enum { PduStaticSize=28 }; 00035 00036 public: 00038 DtRemoveEntityPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 00040 DtRemoveEntityPdu(const DtNetRemoveEntityPdu *initial, 00041 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00042 00043 DtRemoveEntityPdu(const DtEntityIdentifier &to, 00044 const DtEntityIdentifier &from, 00045 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00046 00047 ~DtRemoveEntityPdu() {} 00048 00050 int requestId() const; 00051 void setRequestId(int id); 00052 00054 virtual void printData() const; 00055 00057 virtual void printDataToStream(std::ostream& stream) const; 00058 00059 public: 00062 static DtPdu *create(const DtNetPacket *initial, 00063 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00064 00067 static void addCallback(DtExerciseConn *conn, 00068 DtRemoveEntityPduCb cb, void *usr); 00069 static void removeCallback(DtExerciseConn *conn, 00070 DtRemoveEntityPduCb cb, void *usr); 00071 00072 protected: 00074 DtPduKind internalGetPduKind() const {return DtRemoveEntityPduKind;} 00075 00076 }; 00077 00078 #endif 00079 #endif 00080