![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 #ifndef DtActionRequestRPdu_H_ 00006 #define DtActionRequestRPdu_H_ 00007 00011 00012 #if DtDIS 00013 00014 #include "hostStructs.h" 00015 #include "pduWithData.h" 00016 #include <vlpi/datumIdType.h> 00017 #include "packets/actReqRP.h" 00018 #include "exerciseConn.h" 00019 00020 class DT_DLL_VL DtActionRequestRPdu; 00021 00022 00024 typedef void (*DtActionRequestRPduCb)(DtActionRequestRPdu* pdu, void* usr); 00025 00026 00030 class DT_DLL_VL DtActionRequestRPdu : public DtPduWithData 00031 { 00032 public: 00034 DtActionRequestRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00035 DtActionRequestRPdu(const DtNetActionRequestRPdu* initial, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 DtActionRequestRPdu(const DtActionRequestRPdu& orig); 00038 00040 virtual ~DtActionRequestRPdu(); 00041 00043 DtActionRequestRPdu& operator=(const DtActionRequestRPdu& orig); 00044 00046 virtual void setRequestId(unsigned long id); 00047 virtual unsigned long requestId() const; 00048 00050 virtual void setActionId(unsigned long id); 00051 virtual unsigned long actionId() const; 00052 00054 virtual void setReqRelService(DtRequiredReliabilityService value); 00055 virtual DtRequiredReliabilityService reqRelService() const; 00056 00058 virtual void printData() const; 00059 00061 virtual void printDataToStream(std::ostream& stream) const; 00062 00063 public: 00066 static DtPdu* create(const DtNetPacket* initial, 00067 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00068 00071 static void addCallback(DtExerciseConn* conn, 00072 DtActionRequestRPduCb cb, void* usr); 00073 static void removeCallback(DtExerciseConn* conn, 00074 DtActionRequestRPduCb cb, void* usr); 00075 00076 protected: 00078 virtual DtPduKind internalGetPduKind() const; 00079 00081 virtual DtNetDataPduTail* dataSection() const; 00082 00083 protected: 00084 00085 static const int theStaticSize; 00086 00087 }; 00088 00089 inline DtPduKind DtActionRequestRPdu::internalGetPduKind() const 00090 { 00091 return DtActionRequestRPduKind; 00092 } 00093 00094 #endif 00095 #endif 00096