![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hTransCtlInter_H_ 00008 #define hTransCtlInter_H_ 00009 00010 #if DtHLA 00011 00012 #include "hInterWData.h" 00013 #include "recordSetList.h" 00014 00018 00019 class DT_DLL_VL DtTransferControlInteraction; 00020 class DT_DLL_VL DtExerciseConn; 00021 00023 typedef void (*DtTransferControlInteractionCb) 00024 (DtTransferControlInteraction* inter, void *user); 00025 00030 00031 class DT_DLL_VL DtTransferControlInteraction : public DtInteractionWithEncDec 00032 { 00033 public: 00034 00036 DtTransferControlInteraction(); 00037 00039 DtTransferControlInteraction 00040 (const DtTransferControlInteraction& other); 00041 00043 virtual ~DtTransferControlInteraction(); 00044 00046 DtTransferControlInteraction& operator= 00047 (const DtTransferControlInteraction& other); 00048 00050 virtual void printData() const; 00051 00053 virtual void printDataToStream(std::ostream& stream) const; 00054 00056 virtual void setOriginatingEntityID(const DtEntityIdentifier& entity); 00057 virtual const DtEntityIdentifier& originatingEntityID() const; 00058 00060 virtual void setReceivingEntityID(const DtEntityIdentifier &entity); 00061 virtual const DtEntityIdentifier receivingEntityID() const; 00062 00064 virtual void setRequestID(DtU32 id); 00065 virtual DtU32 requestID() const; 00066 00067 00069 virtual void setTransferType(const DtTransferType type); 00070 virtual const DtTransferType transferType() const; 00071 00073 virtual void setTransferredEntityID(const DtGlobalObjectDesignator &); 00074 virtual const DtGlobalObjectDesignator &transferredEntityID() const; 00075 00079 virtual void setNumRecordSets(DtU32 number); 00080 virtual DtU32 numRecordSets() const; 00081 00084 virtual bool setRecordSet(int index, const DtRecordSet &set); 00085 virtual const DtRecordSet &recordSet(int index, 00086 bool *valid = NULL); 00087 00089 virtual bool getRecordSet(int index, DtRecordSet& recSet) const; 00090 00092 virtual const DtRecordSetList &recordSetList() const; 00093 virtual DtRecordSetList *recordSetList(); 00094 00097 virtual const char* name() const; 00098 00099 public: 00102 static DtInteraction* create(); 00103 00106 static void addCallback(DtExerciseConn *conn, 00107 DtTransferControlInteractionCb cb, void *usr, 00108 DtDDMRegionSP region = DtDDMRegionSP()); 00109 static void removeCallback(DtExerciseConn *conn, 00110 DtTransferControlInteractionCb cb, void *usr, 00111 DtDDMRegionSP region = DtDDMRegionSP()); 00112 00113 protected: 00114 00115 DtEntityIdentifier myOriginatingEnt; 00116 DtEntityIdentifier myReceivingEnt; 00117 DtU32 myRequestId; 00118 DtGlobalObjectDesignator myTransferEntity; 00119 DtTransferType myTransferType; 00120 DtRecordSetList myRecordSetList; 00121 00122 }; 00123 00127 inline void 00128 DtTransferControlInteraction::setOriginatingEntityID 00129 (const DtEntityIdentifier& id) 00130 { 00131 myOriginatingEnt = id; 00132 } 00133 00134 inline const DtEntityIdentifier & 00135 DtTransferControlInteraction::originatingEntityID() const 00136 { 00137 return myOriginatingEnt; 00138 } 00139 00140 inline void 00141 DtTransferControlInteraction::setReceivingEntityID( 00142 const DtEntityIdentifier &id) 00143 { 00144 myReceivingEnt = id; 00145 } 00146 00147 inline const DtEntityIdentifier 00148 DtTransferControlInteraction::receivingEntityID() const 00149 { 00150 return myReceivingEnt; 00151 } 00152 00153 inline void 00154 DtTransferControlInteraction::setRequestID(DtU32 id) 00155 { 00156 myRequestId = id; 00157 } 00158 00159 inline DtU32 00160 DtTransferControlInteraction::requestID() const 00161 { 00162 return myRequestId; 00163 } 00164 00165 inline void 00166 DtTransferControlInteraction::setTransferType(const DtTransferType type) 00167 { 00168 myTransferType = type; 00169 } 00170 00171 inline const DtTransferType 00172 DtTransferControlInteraction::transferType() const 00173 { 00174 return myTransferType; 00175 } 00176 00177 inline void 00178 DtTransferControlInteraction::setTransferredEntityID( 00179 const DtGlobalObjectDesignator &id) 00180 { 00181 myTransferEntity = id; 00182 } 00183 00184 inline const DtGlobalObjectDesignator& 00185 DtTransferControlInteraction::transferredEntityID() const 00186 { 00187 return myTransferEntity; 00188 } 00189 00190 inline const DtRecordSetList & 00191 DtTransferControlInteraction::recordSetList() const 00192 { 00193 return myRecordSetList; 00194 } 00195 00196 inline DtRecordSetList * 00197 DtTransferControlInteraction::recordSetList() 00198 { 00199 return &myRecordSetList; 00200 } 00201 00202 inline const char* 00203 DtTransferControlInteraction::name() const 00204 { 00205 return "DtTransferControlInteraction"; 00206 } 00207 00208 #endif 00209 #endif 00210