![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00008 00009 #ifndef DtStopPdu_H_ 00010 #define DtStopPdu_H_ 00011 00012 #if DtDIS 00013 00014 #include <vlpi/disEnums.h> 00015 #include "hostStructs.h" 00016 #include "simanPdu.h" 00017 00018 class DT_DLL_VL DtExerciseConn; 00019 class DT_DLL_VL DtStopFreezePdu; 00020 typedef DtStopFreezePdu DtStopFreezeInteraction; 00021 00023 typedef void (*DtStopFreezePduCb)(DtStopFreezePdu *pdu, void *usr); 00024 00028 class DT_DLL_VL DtStopFreezePdu : public DtSimanPdu 00029 { 00030 public: 00031 00032 enum { PduStaticSize=40 }; 00033 00034 public: 00036 DtStopFreezePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 DtStopFreezePdu(const DtNetStopFreezePdu *initial, 00038 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 00040 DtStopFreezePdu(const DtEntityIdentifier &to, 00041 const DtEntityIdentifier &from, 00042 const DtTime realTime, 00043 DtStopReason reason, 00044 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00045 00046 00047 00049 DtTime realWorldTime() const; 00050 void setRealWorldTime(const DtTime time); 00051 00053 DtStopReason reason() const; 00054 void setReason(DtStopReason reason); 00055 00057 int frozenBehavior() const; 00058 void setFrozenBehavior(int behavior); 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: 00073 static DtPdu *create(const DtNetPacket *initial, 00074 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00075 00078 static void addCallback(DtExerciseConn *conn, 00079 DtStopFreezePduCb cb, void *usr); 00080 static void removeCallback(DtExerciseConn *conn, 00081 DtStopFreezePduCb cb, void *usr); 00082 00083 protected: 00085 DtPduKind internalGetPduKind() const {return DtStopFreezePduKind;} 00086 00087 }; 00088 00089 #endif 00090 #endif 00091