![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 00008 #ifndef hRecordRInter_H_ 00009 #define hRecordRInter_H_ 00010 00011 #if DtHLA 00012 00013 #include "hInterWData.h" 00014 #include "recordSetList.h" 00015 00019 00020 class DT_DLL_VL DtRecordRInteraction; 00021 class DT_DLL_VL DtExerciseConn; 00022 00024 typedef void (*DtRecordRInteractionCb) 00025 (DtRecordRInteraction* inter, void *user); 00026 00031 00032 class DT_DLL_VL DtRecordRInteraction : public DtInteractionWithEncDec 00033 { 00034 public: 00035 00037 DtRecordRInteraction(); 00038 00040 DtRecordRInteraction 00041 (const DtRecordRInteraction& other); 00042 00044 virtual ~DtRecordRInteraction(); 00045 00047 DtRecordRInteraction& operator= 00048 (const DtRecordRInteraction& other); 00049 00051 virtual void printData() const; 00052 00054 virtual void printDataToStream(std::ostream& stream) const; 00055 00057 virtual void setOriginatingEntityID(const DtEntityIdentifier& entity); 00058 virtual const DtEntityIdentifier& originatingEntityID() const; 00059 00061 virtual void setReceivingEntityID(const DtEntityIdentifier &entity); 00062 virtual const DtEntityIdentifier receivingEntityID() const; 00063 00065 virtual void setRequestID(DtU32 id); 00066 virtual DtU32 requestID() const; 00067 00069 virtual void setReqRelService(enum DtRequiredReliabilityService service); 00070 virtual DtRequiredReliabilityService reqRelService() const; 00071 00073 virtual void setEventType(DtEventType type); 00074 virtual DtEventType eventType() const; 00075 00077 virtual void setResponseSerialNumber(DtU32 num); 00078 virtual DtU32 responseSerialNumber() const; 00079 00083 virtual void setNumRecordSets(DtU32 number); 00084 virtual DtU32 numRecordSets() const; 00085 00088 virtual bool setRecordSet(int index, const DtRecordSet &set); 00089 virtual const DtRecordSet &recordSet(int index, 00090 bool *valid = NULL); 00091 00093 virtual bool getRecordSet(int index, DtRecordSet& recSet) const; 00094 00096 virtual const DtRecordSetList &recordSetList() const; 00097 virtual DtRecordSetList *recordSetList(); 00098 00101 virtual const char* name() const; 00102 00103 public: 00106 static DtInteraction* create(); 00107 00110 static void addCallback(DtExerciseConn *conn, 00111 DtRecordRInteractionCb cb, void *usr, 00112 DtDDMRegionSP region = DtDDMRegionSP()); 00113 static void removeCallback(DtExerciseConn *conn, 00114 DtRecordRInteractionCb cb, void *usr, 00115 DtDDMRegionSP region = DtDDMRegionSP()); 00116 00117 protected: 00118 00119 DtEntityIdentifier myOriginatingEnt; 00120 DtEntityIdentifier myReceivingEnt; 00121 DtU32 myRequestId; 00122 DtEventType myEventType; 00123 DtU32 myResponceSerialNumber; 00124 DtRequiredReliabilityService myRequiredReliabilityService; 00125 DtRecordSetList myRecordSetList; 00126 00127 }; 00128 00132 inline void DtRecordRInteraction::setOriginatingEntityID 00133 (const DtEntityIdentifier& id) 00134 { 00135 myOriginatingEnt = id; 00136 } 00137 00138 inline const DtEntityIdentifier & DtRecordRInteraction::originatingEntityID() const 00139 { 00140 return myOriginatingEnt; 00141 } 00142 00143 inline void DtRecordRInteraction::setReceivingEntityID( 00144 const DtEntityIdentifier &id) 00145 { 00146 myReceivingEnt = id; 00147 } 00148 00149 inline const DtEntityIdentifier DtRecordRInteraction::receivingEntityID() const 00150 { 00151 return myReceivingEnt; 00152 } 00153 00154 inline void DtRecordRInteraction::setRequestID(DtU32 id) 00155 { 00156 myRequestId = id; 00157 } 00158 00159 inline DtU32 DtRecordRInteraction::requestID() const 00160 { 00161 return myRequestId; 00162 } 00163 00164 inline void DtRecordRInteraction::setReqRelService( 00165 enum DtRequiredReliabilityService service) 00166 { 00167 myRequiredReliabilityService = service; 00168 } 00169 00170 inline DtRequiredReliabilityService DtRecordRInteraction::reqRelService() const 00171 { 00172 return myRequiredReliabilityService; 00173 } 00174 00175 inline void DtRecordRInteraction::setEventType(DtEventType type) 00176 { 00177 myEventType = type; 00178 } 00179 00180 inline DtEventType DtRecordRInteraction::eventType() const 00181 { 00182 return myEventType; 00183 } 00184 00185 inline void DtRecordRInteraction::setResponseSerialNumber(DtU32 num) 00186 { 00187 myResponceSerialNumber = num; 00188 } 00189 00190 inline DtU32 DtRecordRInteraction::responseSerialNumber() const 00191 { 00192 return myResponceSerialNumber; 00193 } 00194 00195 inline const DtRecordSetList & DtRecordRInteraction::recordSetList() const 00196 { 00197 return myRecordSetList; 00198 } 00199 00200 inline DtRecordSetList * DtRecordRInteraction::recordSetList() 00201 { 00202 return &myRecordSetList; 00203 } 00204 00205 inline const char* DtRecordRInteraction::name() const 00206 { 00207 return "DtRecordRInteraction"; 00208 } 00209 00210 #endif 00211 #endif 00212