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;
176 virtual void setTransportationTypeHandle(RTI::TransportationTypeHandle transportationTypeHandle);
180 virtual RTI::TransportationTypeHandle transportationTypeHandle()
const;
186 virtual void setTimeStamp(
DtTime time,
191 virtual DtTime timeStamp()
const;
200 virtual DtTime guessTimeValid(
DtTime referenceTime)
const;
207 virtual void setFedTime(
const RTI::LogicalTime &ft);
209 virtual void setFedTime(
const RTI::FedTime &ft);
216 virtual const RTI::LogicalTime *fedTime()
const;
218 virtual const RTI::FedTime *fedTime()
const;
222 virtual void setMessageRetractionHandle(
const RTI::MessageRetractionHandle &handle);
227 virtual RTI::MessageRetractionHandle messageRetractionHandle()
const;
230 virtual void setEventRetractionHandle(
const RTI::EventRetractionHandle &handle);
235 virtual RTI::EventRetractionHandle eventRetractionHandle()
const;
244 static void setTagIsAsciiTime(
bool val);
245 static bool tagIsAsciiTime();
250 const std::vector<DtString>* classes, DtReceiveInteractionCb cb,
void* usr,
251 DtDDMRegionSP region = DtDDMRegionSP());
253 const std::vector<DtString>* classes, DtReceiveInteractionCb cb,
void* usr,
254 DtDDMRegionSP region = DtDDMRegionSP());
258 const char* className, DtReceiveInteractionCb cb,
void* usr,
259 DtDDMRegionSP region = DtDDMRegionSP());
261 const char* className, DtReceiveInteractionCb cb,
void* usr,
262 DtDDMRegionSP region = DtDDMRegionSP());
268 virtual const char* interactionClassToUse(
DtExerciseConn* exConn)
const;
274 virtual RTI::ParameterHandleValueMap &privPvList()
const;
276 virtual RTI::ParameterHandleValuePairSet* privPvList()
const;
290 DtInterClassDesc* myClassDesc;
296 RTI::LogicalTime *myFedTime;
297 RTI::ParameterHandleValueMap myPvList;
298 RTI::MessageRetractionHandle myRetractionHandle;
299 RTI::VariableLengthData myTag;
300 const RTI::RegionHandleSet* myConveyedRegion;
301 #if DtHLA_1516_EVOLVED
302 mutable DtString myProducingFederateName;
303 RTI::FederateHandle myProducingFederateHandle;
306 RTI::TransportationTypeHandle myTransportationTypeHandle;
310 RTI::ParameterHandleValuePairSet* myPvList;
312 RTI::FedTime *myFedTime;
313 RTI::EventRetractionHandle myRetractionHandle;
314 const RTI::Region* myConveyedRegion;
322 static bool theTagIsAsciiTime;
327 inline RTI::InteractionClassHandle
328 DtInteraction::interactionClassHandle()
const
330 return myClassDesc->handle();
333 inline char* DtInteraction::interactionClassName()
const
335 return (
char*) (myClassDesc ? myClassDesc->name() : 0);
338 inline int DtInteraction::numParameters()
const
340 return myClassDesc ? myClassDesc->numParameters() : 0;
353 inline DtInterClassDesc* DtInteraction::classDesc()
const
371 inline void DtInteraction::setMessageRetractionHandle(
372 const RTI::MessageRetractionHandle &handle)
374 myRetractionHandle = handle;
377 inline RTI::MessageRetractionHandle DtInteraction::messageRetractionHandle()
const
379 return myRetractionHandle;
383 inline void DtInteraction::setEventRetractionHandle(
384 const RTI::EventRetractionHandle &handle)
386 myRetractionHandle = handle;
389 inline RTI::EventRetractionHandle DtInteraction::eventRetractionHandle()
const
391 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:36