6 #ifndef interactionHLA_H_
7 #define interactionHLA_H_
50 virtual const RTI::ParameterHandleValueMap& phvm()
const = 0;
53 virtual const RTI::ParameterHandleValuePairSet& phvps()
const = 0;
58 virtual void setFromPhvm(
const RTI::ParameterHandleValueMap& pvList)=0;
61 virtual void setFromPhvps(
const RTI::ParameterHandleValuePairSet& pvList)=0;
74 DtInterClassDesc* classDesc = 0);
77 virtual RTI::InteractionClassHandle interactionClassHandle()
const;
80 virtual char* interactionClassName()
const;
83 virtual int numParameters()
const;
87 virtual bool neededByFederation()
const;
90 virtual void print()
const;
93 virtual void printToStream(std::ostream& stream)
const;
96 virtual void printHeader()
const;
99 virtual void printHeaderToStream(std::ostream& stream)
const;
102 virtual void printData()
const;
105 virtual void printDataToString(
DtString& buff)
const;
108 virtual void printDataToStream(std::ostream& stream)
const;
111 virtual void printParams(
bool withHex)
const;
114 virtual void printParamsToStream(std::ostream& stream,
bool withHex)
const;
117 virtual const char* name()
const = 0;
124 virtual DtInterClassDesc* classDesc()
const;
127 virtual bool customTagSet()
const;
131 virtual void setCustomTag(
const RTI::VariableLengthData& a_tag);
134 virtual void setTag(
const RTI::VariableLengthData& tag);
136 virtual const RTI::VariableLengthData &tag()
const;
138 virtual void setCustomTag(
const DtString& a_tag);
141 virtual void setTag(
const DtString& tag);
143 virtual const DtString& tag()
const;
152 virtual const RTI::RegionHandleSet* conveyedRegion()
const;
153 virtual void setConveyedRegion(
const RTI::RegionHandleSet* sentRegionHandleSet);
155 virtual const RTI::Region* conveyedRegion()
const;
156 virtual void setConveyedRegion(
const RTI::Region* region);
159 #if DtHLA_1516_EVOLVED
160 virtual void setProducingFederateHandle(RTI::FederateHandle federateHandle);
168 virtual RTI::FederateHandle producingFederateHandle()
const;
172 virtual const DtString& producingFederateName()
const;
179 virtual void setTimeStamp(
DtTime time,
184 virtual DtTime timeStamp()
const;
193 virtual DtTime guessTimeValid(
DtTime referenceTime)
const;
200 virtual void setFedTime(
const RTI::LogicalTime &ft);
202 virtual void setFedTime(
const RTI::FedTime &ft);
209 virtual const RTI::LogicalTime *fedTime()
const;
211 virtual const RTI::FedTime *fedTime()
const;
215 virtual void setMessageRetractionHandle(
const RTI::MessageRetractionHandle &handle);
220 virtual RTI::MessageRetractionHandle messageRetractionHandle()
const;
223 virtual void setEventRetractionHandle(
const RTI::EventRetractionHandle &handle);
228 virtual RTI::EventRetractionHandle eventRetractionHandle()
const;
237 static void setTagIsAsciiTime(
bool val);
238 static bool tagIsAsciiTime();
244 const std::vector<DtString>* classes, DtReceiveInteractionCb cb,
void* usr,
245 DtDDMRegionSP region = DtDDMRegionSP());
247 const std::vector<DtString>* classes, DtReceiveInteractionCb cb,
void* usr,
248 DtDDMRegionSP region = DtDDMRegionSP());
252 const char* className, DtReceiveInteractionCb cb,
void* usr,
253 DtDDMRegionSP region = DtDDMRegionSP());
255 const char* className, DtReceiveInteractionCb cb,
void* usr,
256 DtDDMRegionSP region = DtDDMRegionSP());
262 virtual const char* interactionClassToUse(
DtExerciseConn* exConn)
const;
268 virtual RTI::ParameterHandleValueMap &privPvList()
const;
270 virtual RTI::ParameterHandleValuePairSet* privPvList()
const;
284 DtInterClassDesc* myClassDesc;
290 RTI::LogicalTime *myFedTime;
291 RTI::ParameterHandleValueMap myPvList;
292 RTI::MessageRetractionHandle myRetractionHandle;
293 RTI::VariableLengthData myTag;
294 const RTI::RegionHandleSet* myConveyedRegion;
295 #if DtHLA_1516_EVOLVED
296 mutable DtString myProducingFederateName;
297 RTI::FederateHandle myProducingFederateHandle;
301 RTI::ParameterHandleValuePairSet* myPvList;
303 RTI::FedTime *myFedTime;
304 RTI::EventRetractionHandle myRetractionHandle;
305 const RTI::Region* myConveyedRegion;
313 static bool theTagIsAsciiTime;
318 inline RTI::InteractionClassHandle
319 DtInteraction::interactionClassHandle()
const
321 return myClassDesc->handle();
324 inline char* DtInteraction::interactionClassName()
const
326 return (
char*) (myClassDesc ? myClassDesc->name() : 0);
329 inline int DtInteraction::numParameters()
const
331 return myClassDesc ? myClassDesc->numParameters() : 0;
344 inline DtInterClassDesc* DtInteraction::classDesc()
const
362 inline void DtInteraction::setMessageRetractionHandle(
363 const RTI::MessageRetractionHandle &handle)
365 myRetractionHandle = handle;
368 inline RTI::MessageRetractionHandle DtInteraction::messageRetractionHandle()
const
370 return myRetractionHandle;
374 inline void DtInteraction::setEventRetractionHandle(
375 const RTI::EventRetractionHandle &handle)
377 myRetractionHandle = handle;
380 inline RTI::EventRetractionHandle DtInteraction::eventRetractionHandle()
const
382 return myRetractionHandle;
DtInteraction is an base class for representing DIS PDUs which don't have state.
Definition: interactionDIS.h:24
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DtString class declaration.
std::ostream & operator<<(std::ostream &os, const Dt3dChord &chord)
This file contains the declaration of DtClock and DtTime.
Definition: vlTimeStampType.h:18
virtual void printDataToStream(std::ostream &stream) const
This file contains the declaration of DtInterClassDesc.
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
virtual void printDataToString(DtString &str) const
virtual void printData() const
Print the PDU's data (not including header).
DtTimeStampType
Definition: vlTimeStampType.h:16
Instances of DtString are used to represent strings.
Definition: vlString.h:29