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();
243 const std::vector<DtString>* classes, DtReceiveInteractionCb cb,
void* usr,
244 DtDDMRegionSP region = DtDDMRegionSP());
246 const std::vector<DtString>* classes, DtReceiveInteractionCb cb,
void* usr,
247 DtDDMRegionSP region = DtDDMRegionSP());
251 const char* className, DtReceiveInteractionCb cb,
void* usr,
252 DtDDMRegionSP region = DtDDMRegionSP());
254 const char* className, DtReceiveInteractionCb cb,
void* usr,
255 DtDDMRegionSP region = DtDDMRegionSP());
261 virtual const char* interactionClassToUse(
DtExerciseConn* exConn)
const;
267 virtual RTI::ParameterHandleValueMap &privPvList()
const;
269 virtual RTI::ParameterHandleValuePairSet* privPvList()
const;
283 DtInterClassDesc* myClassDesc;
289 RTI::LogicalTime *myFedTime;
290 RTI::ParameterHandleValueMap myPvList;
291 RTI::MessageRetractionHandle myRetractionHandle;
292 RTI::VariableLengthData myTag;
293 const RTI::RegionHandleSet* myConveyedRegion;
294 #if DtHLA_1516_EVOLVED
295 mutable DtString myProducingFederateName;
296 RTI::FederateHandle myProducingFederateHandle;
300 RTI::ParameterHandleValuePairSet* myPvList;
302 RTI::FedTime *myFedTime;
303 RTI::EventRetractionHandle myRetractionHandle;
304 const RTI::Region* myConveyedRegion;
312 static bool theTagIsAsciiTime;
317 inline RTI::InteractionClassHandle
318 DtInteraction::interactionClassHandle()
const
320 return myClassDesc->handle();
323 inline char* DtInteraction::interactionClassName()
const
325 return (
char*) (myClassDesc ? myClassDesc->name() : 0);
328 inline int DtInteraction::numParameters()
const
330 return myClassDesc ? myClassDesc->numParameters() : 0;
343 inline DtInterClassDesc* DtInteraction::classDesc()
const
361 inline void DtInteraction::setMessageRetractionHandle(
362 const RTI::MessageRetractionHandle &handle)
364 myRetractionHandle = handle;
367 inline RTI::MessageRetractionHandle DtInteraction::messageRetractionHandle()
const
369 return myRetractionHandle;
373 inline void DtInteraction::setEventRetractionHandle(
374 const RTI::EventRetractionHandle &handle)
376 myRetractionHandle = handle;
379 inline RTI::EventRetractionHandle DtInteraction::eventRetractionHandle()
const
381 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:62
#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