![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtStopFrzRPdu_H_ 00011 #define DtStopFrzRPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include <vlpi/disEnums.h> 00016 #include "hostStructs.h" 00017 #include "simanPdu.h" 00018 #include "packets/stopFrzRP.h" 00019 #include "exerciseConn.h" 00020 00021 00022 class DT_DLL_VL DtStopFreezeRPdu; 00023 00025 typedef void (*DtStopFreezeRPduCb)(DtStopFreezeRPdu* pdu, void* usr); 00026 00027 00031 class DT_DLL_VL DtStopFreezeRPdu : public DtSimanPdu 00032 { 00033 public: 00035 DtStopFreezeRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00036 DtStopFreezeRPdu(const DtNetStopFreezeRPdu* initial, 00037 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00038 DtStopFreezeRPdu(const DtEntityIdentifier& to, 00039 const DtEntityIdentifier& from, 00040 const DtTime realTime, 00041 DtStopReason reason, 00042 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00043 DtStopFreezeRPdu(const DtStopFreezeRPdu& orig); 00044 00046 virtual ~DtStopFreezeRPdu(); 00047 00049 DtStopFreezeRPdu& operator=(const DtStopFreezeRPdu& orig); 00050 00052 virtual void setRealWorldTime(const DtTime time); 00053 virtual DtTime realWorldTime() const; 00054 00056 virtual void setReason(DtStopReason reason); 00057 virtual DtStopReason reason() const; 00058 00060 virtual void setFrozenBehavior(int behavior); 00061 virtual int frozenBehavior() const; 00062 00064 virtual void setReqRelService(DtRequiredReliabilityService value); 00065 virtual DtRequiredReliabilityService reqRelService() const; 00066 00068 virtual void setRequestId(int id); 00069 virtual int requestId() const; 00070 00072 virtual void printData() const; 00073 00075 virtual void printDataToStream(std::ostream& stream) const; 00076 00077 public: 00078 00081 static DtPdu* create(const DtNetPacket* initial, 00082 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00083 00086 static void addCallback(DtExerciseConn* conn, 00087 DtStopFreezeRPduCb cb, void* usr); 00088 static void removeCallback(DtExerciseConn* conn, 00089 DtStopFreezeRPduCb cb, void* usr); 00090 00091 protected: 00093 virtual DtPduKind internalGetPduKind() const; 00094 00095 protected: 00096 00097 static const int theStaticSize; 00098 00099 }; 00100 00101 inline DtPduKind DtStopFreezeRPdu::internalGetPduKind() const 00102 { 00103 return DtStopFreezeRPduKind; 00104 } 00105 00106 #endif 00107 #endif 00108