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();
211 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);
244 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;
Definition: paramInfo.h:21
MAKRti::DtTime myForceDestinationsTime
Definition: intClassInfo.h:347
MAKRti::DtTransportType myTransport
Definition: intClassInfo.h:323
DtBitMask * myOverrideDestinationsMask
Create this bit mask to permanently override destinations.
Definition: intClassInfo.h:346
DtInteractionClassInfo * myBase
Definition: intClassInfo.h:321
bool myRelevant
Definition: intClassInfo.h:348
std::set< DtDimensionHandle > DtDimensionHandleSet
Definition: internalTypes.h:42
DtParamVector myParams
Definition: intClassInfo.h:337
MAKRti::DtList mySubclasses
Definition: intClassInfo.h:322
Definition: intClassInfo.h:36
MAKRti::DtFomType myFomType
Definition: intClassInfo.h:318
DtHandle DtDimensionHandle
Definition: internalTypes.h:41
enum DtSharingType_enum DtSharingType
DtBitMask * myForceDestinationsMask
Create this bit mask to temporarily force destinations after publish.
Definition: intClassInfo.h:344
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:35
Definition: intClassInfo.h:34
DtSubcribeInteractionType
Definition: intClassInfo.h:32
MAKRti::DtClock myClock
Definition: intClassInfo.h:351
MAKRti::DtInetAddr myAddr
Definition: intClassInfo.h:349
MAKRti::DtInetAddr myDevAddr
Definition: intClassInfo.h:350
bool myIsUnknown
Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM ...
Definition: intClassInfo.h:363
MAKRti::DtHashlist myRemotePassiveSubscriptions
Definition: intClassInfo.h:341
Instances of DtInteractionMgr manage the sending and receiving of interactions.
Definition: interMgr.h:45
DtHandle DtFederateHandle
Definition: internalTypes.h:29
MAKRti::DtString myName
Definition: intClassInfo.h:313
DtSpaceHandle mySpaceHandle
Definition: intClassInfo.h:316
MAKRti::DtHashlist myRemoteSubscriptions
Definition: intClassInfo.h:340
int myFirstParam
Definition: intClassInfo.h:338
std::vector< DtParamInfo > DtParamVector
Definition: intClassInfo.h:39
long DtSpaceHandle
Definition: internalTypes.h:26
int myPublished
Definition: intClassInfo.h:320
MAKRti::DtString mySemantics
Definition: intClassInfo.h:324
DtSubcribeInteractionType mySubscribed
Definition: intClassInfo.h:319
Definition: intClassInfo.h:41
DtDimensionHandleSet myDimensions
Definition: intClassInfo.h:317
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:25
DtSharingType mySharing
Definition: intClassInfo.h:325
DtInteractionClassHandle myHandle
Definition: intClassInfo.h:314
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:126
Definition: saveFile.h:21
DtInteractionClassHandle myDiscoveredHandle
Definition: intClassInfo.h:315
The declaration of internal types.
DtHandle DtParameterHandle
Definition: internalTypes.h:38
MAKRti::DtOrderType myOrder
Definition: intClassInfo.h:335
Definition: intClassPacket.h:20
DtBitMask myRemoteSubscriberMask
Definition: intClassInfo.h:342
static const unsigned int theMaxParams
Definition: intClassInfo.h:366
Definition: intClassInfo.h:35