![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtRepairResponsePdu_H_ 00011 #define DtRepairResponsePdu_H_ 00012 00013 #if DtDIS 00014 00015 #include "hostStructs.h" 00016 #include "dInteraction.h" 00017 #include <matrix/vlMath.h> 00018 #include "packets/logisticsP.h" 00019 00020 00021 class DT_DLL_VL DtExerciseConn; 00022 00023 class DT_DLL_VL DtRepairResponsePdu; 00024 typedef DtRepairResponsePdu DtRepairResponseInteraction; 00025 typedef void (*DtRepairResponsePduCb)(DtRepairResponsePdu *pdu, void *usr); 00026 00027 class DT_DLL_VL DtRepairResponsePdu : public DtInteraction 00028 { 00029 public: 00030 00031 enum { PduStaticSize=28}; 00032 00033 public: 00034 00035 00036 DtRepairResponsePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 DtRepairResponsePdu(const DtNetRepairResponsePdu *initial, 00038 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 00040 virtual ~DtRepairResponsePdu() {}; 00041 00042 virtual const DtEntityIdentifier &receivingId() const; 00043 virtual void setReceivingId(const DtEntityIdentifier &id); 00044 00045 virtual const DtEntityIdentifier &repairingId() const; 00046 virtual void setRepairingId(const DtEntityIdentifier &id); 00047 00048 virtual DtRepairResult repairResult() const; 00049 virtual void setRepairResult(DtRepairResult result); 00050 00051 virtual void printData() const; 00052 virtual void printDataToStream(std::ostream& stream) const; 00053 00054 public: 00055 00056 static DtPdu *create(const DtNetPacket *initial, 00057 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00058 static void addCallback(DtExerciseConn *conn, 00059 DtRepairResponsePduCb cb, void *usr); 00060 static void removeCallback(DtExerciseConn *conn, 00061 DtRepairResponsePduCb cb, void *usr); 00062 00063 protected: 00064 00065 DtPduKind internalGetPduKind() const {return DtRepairResponsePduKind;} 00066 DtEntityIdentifier theId; 00067 }; 00068 00069 /***********************************************************/ 00070 /***************** REPAIR COMPLETE PDU *********************/ 00071 /***********************************************************/ 00072 00073 00074 class DT_DLL_VL DtRepairCompletePdu; 00075 typedef void (*DtRepairCompletePduCb)(DtRepairCompletePdu *pdu, void *usr); 00076 00077 class DT_DLL_VL DtRepairCompletePdu : public DtInteraction 00078 { 00079 00080 public: 00081 00082 enum { PduStaticSize=28 }; 00083 00084 public: 00085 00086 DtRepairCompletePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00087 DtRepairCompletePdu(const DtNetRepairCompletePdu *initial, 00088 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00089 00090 00091 virtual ~DtRepairCompletePdu() {}; 00092 00093 virtual const DtEntityIdentifier &receivingId() const; 00094 virtual void setReceivingId(const DtEntityIdentifier &id); 00095 00096 virtual const DtEntityIdentifier &repairingId() const; 00097 virtual void setRepairingId(const DtEntityIdentifier &id); 00098 00099 virtual DtRepairType repairType() const; 00100 virtual void setRepairType(DtRepairType type); 00101 00102 virtual void printData() const; 00103 virtual void printDataToStream(std::ostream& stream) const; 00104 00105 public: 00106 00107 static DtPdu *create(const DtNetPacket *initial, 00108 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00109 static void addCallback(DtExerciseConn *conn, 00110 DtRepairCompletePduCb cb, void *usr); 00111 static void removeCallback(DtExerciseConn *conn, 00112 DtRepairCompletePduCb cb, void *usr); 00113 protected: 00114 00115 DtPduKind internalGetPduKind() const {return DtRepairCompletePduKind;} 00116 DtEntityIdentifier theId; 00117 }; 00118 00119 #endif 00120 #endif 00121