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;
73 DtInterClassDesc* classDesc = 0);
76 virtual RTI::InteractionClassHandle interactionClassHandle()
const;
79 virtual char* interactionClassName()
const;
82 virtual int numParameters()
const;
86 virtual bool neededByFederation()
const;
89 virtual void print()
const;
92 virtual void printToStream(std::ostream& stream)
const;
95 virtual void printHeader()
const;
98 virtual void printHeaderToStream(std::ostream& stream)
const;
101 virtual void printData()
const;
104 virtual void printDataToString(
DtString& buff)
const;
107 virtual void printDataToStream(std::ostream& stream)
const;
110 virtual void printParams(
bool withHex)
const;
113 virtual void printParamsToStream(std::ostream& stream,
bool withHex)
const;
116 virtual const char* name()
const = 0;
123 virtual DtInterClassDesc* classDesc()
const;
126 virtual bool customTagSet()
const;
131 virtual void setCustomTag(
const RTI::VariableLengthData& a_tag);
133 virtual void setTag(
const RTI::VariableLengthData& tag);
135 virtual const RTI::VariableLengthData &tag()
const;
138 virtual void setCustomTag(
const DtString& a_tag);
140 virtual void setTag(
const DtString& tag);
142 virtual const DtString& tag()
const;
151 virtual const RTI::RegionHandleSet* conveyedRegion()
const;
152 virtual void setConveyedRegion(
const RTI::RegionHandleSet* sentRegionHandleSet);
154 virtual const RTI::Region* conveyedRegion()
const;
155 virtual void setConveyedRegion(
const RTI::Region* region);
158 #if DtHLA_1516_EVOLVED
164 virtual void setProducingFederateHandle(RTI::FederateHandle federateHandle);
167 virtual RTI::FederateHandle producingFederateHandle()
const;
171 virtual const DtString& producingFederateName()
const;
178 virtual void setTimeStamp(
DtTime time,
183 virtual DtTime timeStamp()
const;
192 virtual DtTime guessTimeValid(
DtTime referenceTime)
const;
199 virtual void setFedTime(
const RTI::LogicalTime &ft);
201 virtual void setFedTime(
const RTI::FedTime &ft);
208 virtual const RTI::LogicalTime *fedTime()
const;
210 virtual const RTI::FedTime *fedTime()
const;
216 virtual void setMessageRetractionHandle(
const RTI::MessageRetractionHandle &handle);
219 virtual RTI::MessageRetractionHandle messageRetractionHandle()
const;
224 virtual void setEventRetractionHandle(
const RTI::EventRetractionHandle &handle);
227 virtual RTI::EventRetractionHandle eventRetractionHandle()
const;
236 static void setTagIsAsciiTime(
bool val);
237 static bool tagIsAsciiTime();
242 const DtList* classes, DtReceiveInteractionCb cb,
void* usr,
243 DtDDMRegionSP region = DtDDMRegionSP());
245 const DtList* classes, DtReceiveInteractionCb cb,
void* usr,
246 DtDDMRegionSP region = DtDDMRegionSP());
250 const char* className, DtReceiveInteractionCb cb,
void* usr,
251 DtDDMRegionSP region = DtDDMRegionSP());
253 const char* className, DtReceiveInteractionCb cb,
void* usr,
254 DtDDMRegionSP region = DtDDMRegionSP());
260 virtual char* interactionClassToUse(
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;
319 inline RTI::InteractionClassHandle
320 DtInteraction::interactionClassHandle()
const
322 return myClassDesc->handle();
325 inline char* DtInteraction::interactionClassName()
const
327 return (
char*) (myClassDesc ? myClassDesc->name() : 0);
330 inline int DtInteraction::numParameters()
const
332 return myClassDesc ? myClassDesc->numParameters() : 0;
345 inline DtInterClassDesc* DtInteraction::classDesc()
const
363 inline void DtInteraction::setMessageRetractionHandle(
364 const RTI::MessageRetractionHandle &handle)
366 myRetractionHandle = handle;
369 inline RTI::MessageRetractionHandle DtInteraction::messageRetractionHandle()
const
371 return myRetractionHandle;
375 inline void DtInteraction::setEventRetractionHandle(
376 const RTI::EventRetractionHandle &handle)
378 myRetractionHandle = handle;
381 inline RTI::EventRetractionHandle DtInteraction::eventRetractionHandle()
const
383 return myRetractionHandle;