![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00009 00010 #ifndef DtUnknownPdu_H_ 00011 #define DtUnknownPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include "pdu.h" 00016 00017 class DT_DLL_VL DtExerciseConn; 00018 class DT_DLL_VL DtUnknownPdu; 00019 typedef void (*DtUnknownPduCb)(DtUnknownPdu *pdu, void *usr); 00020 00023 class DT_DLL_VL DtUnknownPdu : public DtPdu 00024 { 00025 public: 00026 00027 enum { PduStaticSize=12 }; 00028 00029 public: 00030 00031 00032 DtUnknownPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00033 DtUnknownPdu(const DtNetPduHeader *initial, 00034 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00035 00036 static DtPdu *create(const DtNetPacket *initial, 00037 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00038 static void addCallback(DtPduKind kind, DtExerciseConn *conn, 00039 DtUnknownPduCb cb, void *usr); 00040 static void removeCallback(DtPduKind kind, DtExerciseConn *conn, 00041 DtUnknownPduCb cb, void *usr); 00042 00043 virtual void printDataToStream(std::ostream &stream) const; 00044 00045 void setKind(DtPduKind kind); 00046 00047 protected: 00048 00049 DtPduKind internalGetPduKind() const; 00050 00051 }; 00052 00053 #endif 00054 #endif 00055