![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef hSetRecordInter_H_ 00007 #define hSetRecordInter_H_ 00008 00009 #if DtHLA 00010 00011 #include "hInterWData.h" 00012 #include "recordSetList.h" 00013 00017 00018 class DT_DLL_VL DtSetRecordInteraction; 00019 class DT_DLL_VL DtExerciseConn; 00020 00021 typedef void (*DtSetRecordInteractionCb) 00022 (DtSetRecordInteraction *inter, void *user); 00023 00024 class DT_DLL_VL DtSetRecordInteraction : public DtInteractionWithEncDec 00025 { 00026 public: 00027 00028 //default constructor 00029 DtSetRecordInteraction(); 00030 00032 DtSetRecordInteraction(const DtSetRecordInteraction& other); 00033 00035 virtual ~DtSetRecordInteraction(); 00036 00038 DtSetRecordInteraction& operator= 00039 (const DtSetRecordInteraction& other); 00040 00042 virtual void printData() const; 00043 00045 virtual void printDataToStream(std::ostream& stream) const; 00046 00048 virtual void setOriginatingEntityID(const DtEntityIdentifier& entity); 00049 virtual const DtEntityIdentifier& originatingEntityID() const; 00050 00052 virtual void setReceivingEntityID(const DtEntityIdentifier &entity); 00053 virtual const DtEntityIdentifier receivingEntityID() const; 00054 00056 virtual void setRequestID(DtU32 id); 00057 virtual DtU32 requestID() const; 00058 00060 virtual void setReqRelService(enum DtRequiredReliabilityService service); 00061 virtual DtRequiredReliabilityService reqRelService() const; 00062 00066 virtual void setNumRecordSets(DtU32 number); 00067 virtual DtU32 numRecordSets() const; 00068 00071 virtual bool setRecordSet(int index, const DtRecordSet &set); 00072 virtual const DtRecordSet &recordSet(int index, 00073 bool *valid = NULL); 00074 00076 virtual bool getRecordSet(int index, DtRecordSet& recSet) const; 00077 00079 virtual const DtRecordSetList &recordSetList() const; 00080 virtual DtRecordSetList *recordSetList(); 00081 00084 virtual const char* name() const; 00085 00086 public: 00089 static DtInteraction* create(); 00090 00093 static void addCallback(DtExerciseConn *conn, 00094 DtSetRecordInteractionCb cb, void *usr, 00095 DtDDMRegionSP region = DtDDMRegionSP()); 00096 static void removeCallback(DtExerciseConn *conn, 00097 DtSetRecordInteractionCb cb, void *usr, 00098 DtDDMRegionSP region = DtDDMRegionSP()); 00099 00100 00101 protected: 00102 00103 DtEntityIdentifier myOriginatingEnt; 00104 DtEntityIdentifier myReceivingEnt; 00105 DtU32 myRequestId; 00106 DtRequiredReliabilityService myRequiredReliabilityService; 00107 DtRecordSetList myRecordSetList; 00108 00109 }; 00110 00111 inline void 00112 DtSetRecordInteraction::setOriginatingEntityID 00113 (const DtEntityIdentifier& id) 00114 { 00115 myOriginatingEnt = id; 00116 } 00117 00118 inline const DtEntityIdentifier & 00119 DtSetRecordInteraction::originatingEntityID() const 00120 { 00121 return myOriginatingEnt; 00122 } 00123 00124 inline void 00125 DtSetRecordInteraction::setReceivingEntityID( 00126 const DtEntityIdentifier &id) 00127 { 00128 myReceivingEnt = id; 00129 } 00130 00131 inline const DtEntityIdentifier 00132 DtSetRecordInteraction::receivingEntityID() const 00133 { 00134 return myReceivingEnt; 00135 } 00136 00137 inline void 00138 DtSetRecordInteraction::setRequestID(DtU32 id) 00139 { 00140 myRequestId = id; 00141 } 00142 00143 inline DtU32 00144 DtSetRecordInteraction::requestID() const 00145 { 00146 return myRequestId; 00147 } 00148 00150 inline void 00151 DtSetRecordInteraction::setReqRelService(enum DtRequiredReliabilityService ser) 00152 { 00153 myRequiredReliabilityService = ser; 00154 } 00155 00156 inline DtRequiredReliabilityService 00157 DtSetRecordInteraction::reqRelService() const 00158 { 00159 return myRequiredReliabilityService; 00160 } 00161 00162 00163 inline const DtRecordSetList & 00164 DtSetRecordInteraction::recordSetList() const 00165 { 00166 return myRecordSetList; 00167 } 00168 00169 inline DtRecordSetList * 00170 DtSetRecordInteraction::recordSetList() 00171 { 00172 return &myRecordSetList; 00173 } 00174 00175 inline const char* 00176 DtSetRecordInteraction::name() const 00177 { 00178 return "DtSetRecordInteraction"; 00179 } 00180 00181 #endif 00182 #endif 00183