12 #ifndef DtInteractionClassInfo_H_
13 #define DtInteractionClassInfo_H_
15 #include <vlutil/vlFedTarget.h>
16 #include <vlutil/vlList.h>
17 #include <vlutil/vlHashlist.h>
18 #include <vlutil/vlInetAddr.h>
28 class DtInteractionRegionSet;
48 MAKRti::DtString semantics, MAKRti::DtTransportType transport,
49 MAKRti::DtOrderType order );
61 virtual void setFomType(MAKRti::DtFomType type);
62 virtual MAKRti::DtFomType fomType()
const;
65 virtual void addParam(
const char* paramName,
const char* semantics,
80 virtual const char* name()
const;
85 virtual bool isName(
const char* name)
const;
87 virtual bool isFullName(
const char* name)
const;
111 virtual MAKRti::DtList* subclasses();
118 virtual void unpublish();
121 virtual int published()
const;
124 virtual void subscribe(
bool active);
125 virtual void unsubscribe();
128 virtual int subscribed()
const;
132 virtual void remoteSubscribe(
137 virtual void remotePassiveSubscribe(
142 virtual void remoteUnsubscribe(
144 bool forSmartForwarding);
147 virtual bool remoteFederateIsSubscribed(
151 virtual int numRemoteFederatesSubscribed()
const;
154 virtual const MAKRti::DtList& subscribedFederates()
const;
157 virtual bool relevant()
const;
160 virtual DtParamInfo* paramByName(
const char* theName);
164 virtual MAKRti::DtTransportType transport()
const;
165 virtual void setTransport(MAKRti::DtTransportType theTransport);
170 const char* semantics()
const;
171 void setSemantics(
const MAKRti::DtString& semantics);
174 virtual MAKRti::DtOrderType order()
const;
175 virtual void setOrder(MAKRti::DtOrderType theOrder);
182 virtual MAKRti::DtInetAddr destinationAddress()
const;
183 virtual MAKRti::DtInetAddr destinationDevice()
const;
184 virtual void setDestination(MAKRti::DtInetAddr addr, MAKRti::DtInetAddr devAddr,
185 bool inclusive, MAKRti::DtInetAddr oldAddr, MAKRti::DtInetAddr oldDevAddr);
188 virtual int subscribedWithRegion()
const;
191 virtual int numParameters()
const;
198 virtual DtBitMask getDestinations(
bool includeBaseClass=
true)
const;
202 virtual void forceDestinations(
DtBitMask const& mask, MAKRti::DtTime delay);
205 virtual void overrideDestinations(
DtBitMask const& mask);
208 virtual void clearDestinationOverride();
212 virtual int numRemoteFederatesSubscribedWithRegion()
const;
217 virtual void remoteSubscribe(
224 virtual bool remoteFederateIsSubscribedWithRegion(
226 virtual bool remoteFederateIsSubscribedWithRegion(
235 virtual DtInteractionRegionSet* subRegionSet();
236 virtual void setSubRegionSet(DtInteractionRegionSet* regSet);
239 virtual DtInteractionRegionSet* pasRegionSet();
240 virtual void setPasRegionSet(DtInteractionRegionSet* regSet);
245 virtual unsigned long sentTally(MAKRti::DtTransportType transport);
246 virtual void incrementSentTally(MAKRti::DtTransportType transport);
247 virtual void setSentTally(
unsigned long value, MAKRti::DtTransportType transport);
248 virtual unsigned long receiveTally(MAKRti::DtTransportType transport);
249 virtual void incrementReceiveTally(MAKRti::DtTransportType transport);
250 virtual void setReceiveTally(
unsigned long value, MAKRti::DtTransportType transport);
254 virtual void overrideRelevance();
262 virtual void print()
const;
270 bool isScaffolding()
const;
274 bool isUnknown()
const;
276 void setIsUnknown(
bool unknown);
284 static bool sameParamsUnsorted(
const std::vector<DtParamInfo>&,
285 const std::vector<DtParamInfo>& );
286 static bool sameParamsSorted(
const std::vector<DtParamInfo>&,
287 const std::vector<DtParamInfo>& );
292 bool isForSmartForwarding=
false);
309 void addParamSorted(
const char* paramName, MAKRti::DtString semantics);
310 void addParamUnsorted(
const char* paramName, MAKRti::DtString semantics);
328 bool myRelevantOverride;
329 unsigned long myBestEffortSentTally;
330 unsigned long myBestEffortReceiveTally;
331 unsigned long myReliableSentTally;
332 unsigned long myReliableReceiveTally;
354 MAKRti::DtHashlist myRemoteRegionSubscriptions;
357 DtInteractionRegionSet* mySubRegSet;
358 DtInteractionRegionSet* myPasRegSet;