![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtSetRecordPdu_H_ 00011 #define DtSetRecordPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include <vlutil/vlMachineTypes.h> 00016 #include "hostStructs.h" 00017 #include "recordSetPdu.h" 00018 #include "exerciseConn.h" 00019 00020 #include "packets/setRecordP.h" 00021 00022 00023 class DT_DLL_VL DtSetRecordPdu; 00024 00025 typedef DtSetRecordPdu DtSetRecordInteraction; 00026 00028 typedef void (*DtSetRecordPduCb)(DtSetRecordPdu* pdu, void* usr); 00029 00030 00035 00036 class DT_DLL_VL DtSetRecordPdu : public DtRecordSetPdu 00037 { 00038 00039 public: 00040 00042 DtSetRecordPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00043 DtSetRecordPdu(const DtNetSetRecordPdu* initial, 00044 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00045 DtSetRecordPdu(const DtSetRecordPdu& orig); 00046 00048 virtual ~DtSetRecordPdu(); 00049 00051 DtSetRecordPdu& operator=(const DtSetRecordPdu& orig); 00052 00054 virtual void setOriginatingEntityID(const DtEntityIdentifier& entity); 00055 virtual const DtEntityIdentifier& originatingEntityID() const; 00056 00058 virtual void setReceivingEntityID(const DtEntityIdentifier& entity); 00059 virtual const DtEntityIdentifier& receivingEntityID() const; 00060 00062 virtual void setRequestID(DtU32 id); 00063 virtual DtU32 requestID() const; 00064 00066 virtual void setReqRelService(enum DtRequiredReliabilityService service); 00067 virtual DtRequiredReliabilityService reqRelService() const; 00068 00070 virtual void printData() const; 00071 virtual void printDataToStream(std::ostream& stream) const; 00072 00073 public: 00074 00077 static DtPdu* create(const DtNetPacket* initial, 00078 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00079 00082 static void addCallback(DtExerciseConn* conn, 00083 DtSetRecordPduCb cb, void* usr); 00084 static void removeCallback(DtExerciseConn* conn, 00085 DtSetRecordPduCb cb, void* usr); 00086 00087 protected: 00088 00090 virtual DtNetRecordSetPdu* netRecordSetPduStruct() const; 00091 00093 virtual DtPduKind internalGetPduKind() const; 00094 00097 virtual DtNetSetRecordPdu* netPduStruct() const; 00098 00101 DtSetRecordPdu* self() const; 00102 00103 protected: 00104 00106 static const int theStaticSize; 00107 00108 protected: 00109 00111 DtEntityIdentifier myEntityID; 00112 00113 }; 00114 00115 #endif 00116 #endif 00117