6 #ifndef hInteraction_H_
7 #define hInteraction_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;
148 virtual const std::set<DtDDMRegion>* region()
const;
149 virtual void setRegion(
const std::set<DtDDMRegion>& region);
156 #if DtHLA_1516_EVOLVED
157 virtual const DtString& producingFederate()
const;
158 virtual void setProducingFederate(
const DtString& fedName);
165 virtual void setTimeStamp(
DtTime time,
170 virtual DtTime timeStamp()
const;
179 virtual DtTime guessTimeValid(
DtTime referenceTime)
const;
186 virtual void setFedTime(
const RTI::LogicalTime &ft);
188 virtual void setFedTime(
const RTI::FedTime &ft);
195 virtual const RTI::LogicalTime *fedTime()
const;
197 virtual const RTI::FedTime *fedTime()
const;
203 virtual void setMessageRetractionHandle(
const RTI::MessageRetractionHandle &handle);
206 virtual RTI::MessageRetractionHandle messageRetractionHandle()
const;
211 virtual void setEventRetractionHandle(
const RTI::EventRetractionHandle &handle);
214 virtual RTI::EventRetractionHandle eventRetractionHandle()
const;
223 static void setTagIsAsciiTime(
bool val);
224 static bool tagIsAsciiTime();
229 const DtList* classes, DtReceiveInteractionCb cb,
void* usr,
230 DtDDMRegionSP region = DtDDMRegionSP());
232 const DtList* classes, DtReceiveInteractionCb cb,
void* usr,
233 DtDDMRegionSP region = DtDDMRegionSP());
237 const char* className, DtReceiveInteractionCb cb,
void* usr,
238 DtDDMRegionSP region = DtDDMRegionSP());
240 const char* className, DtReceiveInteractionCb cb,
void* usr,
241 DtDDMRegionSP region = DtDDMRegionSP());
247 virtual char* interactionClassToUse(
254 virtual RTI::ParameterHandleValueMap &privPvList()
const;
256 virtual RTI::ParameterHandleValuePairSet* privPvList()
const;
270 DtInterClassDesc* myClassDesc;
276 RTI::LogicalTime *myFedTime;
277 RTI::ParameterHandleValueMap myPvList;
278 RTI::MessageRetractionHandle myRetractionHandle;
279 RTI::VariableLengthData myTag;
280 std::set<DtDDMRegion>* myRegion;
281 #if DtHLA_1516_EVOLVED
286 RTI::ParameterHandleValuePairSet* myPvList;
288 RTI::FedTime *myFedTime;
289 RTI::EventRetractionHandle myRetractionHandle;
298 static bool theTagIsAsciiTime;
305 inline RTI::InteractionClassHandle
306 DtInteraction::interactionClassHandle()
const
308 return myClassDesc->handle();
311 inline char* DtInteraction::interactionClassName()
const
313 return (
char*) (myClassDesc ? myClassDesc->name() : 0);
316 inline int DtInteraction::numParameters()
const
318 return myClassDesc ? myClassDesc->numParameters() : 0;
331 inline DtInterClassDesc* DtInteraction::classDesc()
const
349 inline void DtInteraction::setMessageRetractionHandle(
350 const RTI::MessageRetractionHandle &handle)
352 myRetractionHandle = handle;
355 inline RTI::MessageRetractionHandle DtInteraction::messageRetractionHandle()
const
357 return myRetractionHandle;
361 inline void DtInteraction::setEventRetractionHandle(
362 const RTI::EventRetractionHandle &handle)
364 myRetractionHandle = handle;
367 inline RTI::EventRetractionHandle DtInteraction::eventRetractionHandle()
const
369 return myRetractionHandle;