12 #ifndef DtInteractionClassInfo_H_
13 #define DtInteractionClassInfo_H_
22 #include <vlutil/vlFedTarget.h>
23 #include <vlutil/vlHashlist.h>
24 #include <vlutil/vlInetAddr.h>
29 class DtInteractionRegionSet;
51 MAKRti::DtString semantics, MAKRti::DtTransportType transport,
52 MAKRti::DtOrderType order );
65 virtual void setFomType(MAKRti::DtFomType type);
66 virtual MAKRti::DtFomType fomType()
const;
70 virtual DtParamInfo* addParam(
const char* paramName,
const char* semantics,
bool addSorted);
73 virtual DtParamInfo* mergeParam(
const char* paramName,
const char* semantics);
91 virtual const char* name()
const;
96 virtual bool isName(
const char* name)
const;
99 virtual bool isFullName(
const char* name)
const;
131 virtual bool isMom();
134 virtual bool isRoot();
137 virtual int numParameters()
const;
156 virtual DtParamInfo* paramByName(
const char* theName);
157 virtual const DtParamInfo* paramByName(
const char* theName)
const;
170 virtual void unpublish();
173 virtual int published()
const;
176 virtual void subscribe(
bool active);
179 virtual void unsubscribe();
182 virtual int subscribed()
const;
190 virtual void remotePassiveSubscribe(
195 virtual void remoteUnsubscribe(
202 virtual int numRemoteFederatesSubscribed()
const;
205 virtual const MAKRti::DtList& subscribedFederates()
const;
208 virtual bool relevant()
const;
212 virtual MAKRti::DtTransportType transport()
const;
213 virtual void setTransport(MAKRti::DtTransportType theTransport);
218 DtSharingType sharing()
const;
219 void setSharing(
const DtSharingType sharing );
224 const char* semantics()
const;
225 void setSemantics(
const MAKRti::DtString& semantics);
230 virtual MAKRti::DtOrderType order()
const;
231 virtual void setOrder(MAKRti::DtOrderType theOrder);
241 virtual MAKRti::DtInetAddr destinationAddress()
const;
244 virtual MAKRti::DtInetAddr destinationDevice()
const;
247 virtual void setDestination(MAKRti::DtInetAddr addr, MAKRti::DtInetAddr devAddr,
248 bool inclusive, MAKRti::DtInetAddr oldAddr, MAKRti::DtInetAddr oldDevAddr);
251 virtual int subscribedWithRegion()
const;
255 virtual DtBitMask getDestinations(
bool includeBaseClass=
true)
const;
259 virtual void forceDestinations(
DtBitMask const& mask, MAKRti::DtTime delay);
262 virtual void overrideDestinations(
DtBitMask const& mask);
265 virtual void clearDestinationOverride();
268 virtual int numRemoteFederatesSubscribedWithRegion()
const;
277 virtual bool remoteFederateIsSubscribedWithRegion(
DtFederateHandle fedHandle)
const;
287 virtual DtInteractionRegionSet* subRegionSet();
288 virtual const DtInteractionRegionSet* subRegionSet()
const;
292 virtual void setSubRegionSet(DtInteractionRegionSet* regSet);
296 virtual DtInteractionRegionSet* pasRegionSet();
297 virtual const DtInteractionRegionSet* pasRegionSet()
const;
301 virtual void setPasRegionSet(DtInteractionRegionSet* regSet);
308 virtual unsigned long sentTally(MAKRti::DtTransportType transport)
const;
309 virtual void incrementSentTally(MAKRti::DtTransportType transport);
310 virtual void setSentTally(
unsigned long value, MAKRti::DtTransportType transport);
311 virtual unsigned long receiveTally(MAKRti::DtTransportType transport)
const;
312 virtual void incrementReceiveTally(MAKRti::DtTransportType transport);
313 virtual void setReceiveTally(
unsigned long value, MAKRti::DtTransportType transport);
318 virtual void overrideRelevance();
328 virtual void print()
const;
338 virtual bool isScaffolding()
const;
349 virtual bool isUnknown()
const;
352 virtual void setIsUnknown(
bool unknown);
371 static const char* swapRootName(
const char* name, MAKRti::DtFomType fomType, MAKRti::DtString& adjustedName);
379 virtual void deleteRemoteSubscription(
DtFederateHandle fedHandle,
bool isForSmartForwarding=
false);
391 virtual void inheritMergedParameter(
const DtParamInfo& param);
400 virtual void reIndexParametersByName(
DtParamInfo* paramInfo);
403 virtual void nameUpdateCheck();
406 virtual void emptyParameters();
418 void addInheritedParameter(
const DtParamInfo& paramInfo);
453 bool myRelevantOverride;
454 unsigned long myBestEffortSentTally;
455 unsigned long myBestEffortReceiveTally;
456 unsigned long myReliableSentTally;
457 unsigned long myReliableReceiveTally;
486 MAKRti::DtHashlist myRemoteRegionSubscriptions;
489 DtInteractionRegionSet* mySubRegSet;
490 DtInteractionRegionSet* myPasRegSet;
Definition: paramInfo.h:24
bool myIsRoot
Definition: intClassInfo.h:439
DtInteractionClassByNameMap mySubclassesByName
Definition: intClassInfo.h:444
DtDimensionHandleStdSet myDimensions
Definition: intClassInfo.h:436
MAKRti::DtTime myForceDestinationsTime
Definition: intClassInfo.h:479
DtParameterByNameMap myParamsByName
Definition: intClassInfo.h:464
std::map< MAKRti::DtString, DtParamInfo * > DtParameterByNameMap
Definition: paramInfo.h:95
MAKRti::DtTransportType myTransport
Definition: intClassInfo.h:445
std::map< MAKRti::DtString, DtInteractionClassInfo * > DtInteractionClassByNameMap
Definition: intClassInfo.h:44
DtBitMask * myOverrideDestinationsMask
Create this bit mask to permanently override destinations.
Definition: intClassInfo.h:478
DtParameterHandleSet myParameterHandleSet
Definition: intClassInfo.h:468
DtInteractionClassInfo * myBase
Definition: intClassInfo.h:442
bool myRelevant
Definition: intClassInfo.h:480
Definition: intClassInfo.h:37
MAKRti::DtFomType myFomType
Definition: intClassInfo.h:437
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
DtBitMask * myForceDestinationsMask
Create this bit mask to temporarily force destinations after publish.
Definition: intClassInfo.h:476
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
Definition: intClassInfo.h:35
DtSubcribeInteractionType
Definition: intClassInfo.h:33
MAKRti::DtClock myClock
Definition: intClassInfo.h:483
MAKRti::DtInetAddr myAddr
Definition: intClassInfo.h:481
MAKRti::DtInetAddr myDevAddr
Definition: intClassInfo.h:482
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
bool myIsUnknown
Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM ...
Definition: intClassInfo.h:495
MAKRti::DtHashlist myRemotePassiveSubscriptions
Definition: intClassInfo.h:473
Instances of DtInteractionMgr manage the sending and receiving of interactions.
Definition: interMgr.h:46
DtHandle DtFederateHandle
Definition: internalTypes.h:46
MAKRti::DtString myName
Definition: intClassInfo.h:432
DtSpaceHandle mySpaceHandle
Definition: intClassInfo.h:435
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
bool myIsMom
Definition: intClassInfo.h:438
MAKRti::DtHashlist myRemoteSubscriptions
Definition: intClassInfo.h:472
int myFirstParam
Definition: intClassInfo.h:470
long DtSpaceHandle
Definition: internalTypes.h:42
DtParameterHandleStdSet myUsedParameterHandles
Definition: intClassInfo.h:466
int myPublished
Definition: intClassInfo.h:441
MAKRti::DtString mySemantics
Definition: intClassInfo.h:446
DtParameterByHandleMap myParamsByHandle
Definition: intClassInfo.h:462
DtParameterByHandleMap myOwnParamsByHandle
Definition: intClassInfo.h:463
DtSubcribeInteractionType mySubscribed
Definition: intClassInfo.h:440
Definition: intClassInfo.h:40
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
DtSharingType mySharing
Definition: intClassInfo.h:447
DtInteractionClassHandle myHandle
Definition: intClassInfo.h:433
DtBitMask represents a variable length bit-field which may be used to represent an array of boolean d...
Definition: bitMask.h:24
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
std::map< DtInteractionClassHandle, DtInteractionClassInfo * > DtInteractionClassByHandleMap
Definition: intClassInfo.h:43
Definition: saveFile.h:21
DtInteractionClassHandle myDiscoveredHandle
Definition: intClassInfo.h:434
The declaration of internal types.
DtHandle DtParameterHandle
Definition: internalTypes.h:56
std::map< DtParameterHandle, DtParamInfo * > DtParameterByHandleMap
Definition: paramInfo.h:94
MAKRti::DtOrderType myOrder
Definition: intClassInfo.h:460
Definition: intClassPacket.h:20
DtParameterHandle myAvailableParameterHandle
The available parameter handle which is the maximum of this classes own parameters or any of its subc...
Definition: intClassInfo.h:450
DtParameterByNameMap myOwnParamsByName
Definition: intClassInfo.h:465
DtInteractionClassByHandleMap mySubclassByHandle
Definition: intClassInfo.h:443
DtBitMask myRemoteSubscriberMask
Definition: intClassInfo.h:474
std::set< DtParameterHandle > DtParameterHandleStdSet
Definition: internalTypes.h:57
static const unsigned int theMaxParams
Definition: intClassInfo.h:498
Definition: intClassInfo.h:36