6 #ifndef interactionHLA_H_
7 #define interactionHLA_H_
51 virtual const RTI::ParameterHandleValueMap& phvm()
const = 0;
54 virtual const RTI::ParameterHandleValuePairSet& phvps()
const = 0;
59 virtual void setFromPhvm(
const RTI::ParameterHandleValueMap& pvList)=0;
62 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;
132 virtual void setCustomTag(
const RTI::VariableLengthData& a_tag);
134 virtual void setTag(
const RTI::VariableLengthData& tag);
136 virtual const RTI::VariableLengthData &tag()
const;
139 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
165 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;
217 virtual void setMessageRetractionHandle(
const RTI::MessageRetractionHandle &handle);
220 virtual RTI::MessageRetractionHandle messageRetractionHandle()
const;
225 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 DtList* classes, DtReceiveInteractionCb cb,
void* usr,
244 DtDDMRegionSP region = DtDDMRegionSP());
246 const DtList* 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 char* interactionClassToUse(
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;