![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtEventReptRPdu_H_ 00011 #define DtEventReptRPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include "hostStructs.h" 00016 #include "pduWithData.h" 00017 #include "exerciseConn.h" 00018 00019 00020 class DT_DLL_VL DtEventReptRPdu; 00021 00023 typedef void (*DtEventReptRPduCb)(DtEventReptRPdu* pdu, void* usr); 00024 00028 class DT_DLL_VL DtEventReptRPdu : public DtPduWithData 00029 { 00030 public: 00032 DtEventReptRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00033 DtEventReptRPdu(const DtNetEventReportPdu* initial, 00034 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00035 DtEventReptRPdu(const DtEventReptRPdu& orig); 00036 00038 virtual ~DtEventReptRPdu(); 00039 00041 DtEventReptRPdu& operator=(const DtEventReptRPdu& orig); 00042 00044 virtual void setEventType(DtEventType type); 00045 virtual DtEventType eventType() const; 00046 00048 virtual void printData() const; 00049 00051 virtual void printDataToStream(std::ostream& stream) const; 00052 00053 public: 00056 static DtPdu* create(const DtNetPacket* initial, 00057 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00058 00061 static void addCallback(DtExerciseConn* conn, 00062 DtEventReptRPduCb cb, void* usr); 00063 static void removeCallback(DtExerciseConn* conn, 00064 DtEventReptRPduCb cb, void* usr); 00065 00066 protected: 00068 virtual DtPduKind internalGetPduKind() const; 00069 00071 virtual DtNetDataPduTail* dataSection() const; 00072 00073 protected: 00074 00075 static const int theStaticSize; 00076 00077 }; 00078 00079 inline DtPduKind DtEventReptRPdu::internalGetPduKind() const 00080 { 00081 return DtEventReptRPduKind; 00082 } 00083 00084 #endif 00085 #endif 00086