12 #ifndef DtObjectClassInfo_H_
13 #define DtObjectClassInfo_H_
15 #include <vlutil/vlList.h>
16 #include <vlutil/vlHashlist.h>
17 #include <vlutil/vlFedTarget.h>
18 #include <vlutil/vlInetAddr.h>
44 const MAKRti::DtString& semantics);
54 virtual void setFomType(MAKRti::DtFomType type);
55 virtual MAKRti::DtFomType fomType()
const;
58 virtual DtAttrInfo* addAttr(
const char* attrName,
59 MAKRti::DtTransportType transport,
60 MAKRti::DtOrderType order,
63 const MAKRti::DtString& updateCondition,
65 const MAKRti::DtString& semantics,
69 virtual DtAttrInfo* addAttr(
const char* attrName,
70 MAKRti::DtTransportType transport,
71 MAKRti::DtOrderType order,
75 const MAKRti::DtString& updateCondition,
77 const MAKRti::DtString& semantics,
81 virtual const char* name()
const;
88 virtual const char* semantics()
const;
89 virtual void setSemantics(
const MAKRti::DtString& sem);
94 virtual bool isName(
const char* name)
const;
96 virtual bool isFullName(
const char* name)
const;
117 virtual MAKRti::DtList* subclasses();
123 virtual DtAttrInfo* attrByName(
const char* theName);
127 virtual const DtAttrInfo* attrByName(
const char* theName)
const;
133 const char* theName)
const;
136 virtual char* attrName (
140 virtual MAKRti::DtTransportType attrTransport(
144 virtual MAKRti::DtOrderType attrOrder(
155 virtual int numAttributes()
const;
164 DtObjectMgr* objMgr,
bool isReplacement,
bool isRepublish);
166 bool implicitUnpublishPrivilegeToDelete,
DtObjectMgr* objMgr);
169 virtual bool published()
const;
174 #
if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
176 bool isReplacement=
false);
178 bool isReplacement=
true);
181 virtual void unsubscribeClass();
182 virtual void unsubscribeAttributes(
186 virtual bool subscribed()
const;
189 virtual bool isPassive()
const;
193 virtual const bool isSubscribed(
195 virtual const bool isActiveSubscribed(
224 virtual void remoteSubscribe(
238 virtual void remoteUnsubscribeAttributes(
244 virtual void removeSubscriptions(
247 bool isResigning =
false);
250 virtual int numRemoteFederatesSubscribed();
253 virtual bool remoteFederateIsSubscribed(
261 virtual const MAKRti::DtHashList& subscribedFederates()
const;
266 virtual bool relevant()
const;
275 virtual const MAKRti::DtInetAddr& destinationAddress()
const;
276 virtual const MAKRti::DtInetAddr& destinationDevice()
const;
277 virtual void setDestination(MAKRti::DtInetAddr addr,
278 MAKRti::DtInetAddr devAddr,
bool inclusive, MAKRti::DtInetAddr oldAddr,
279 MAKRti::DtInetAddr oldDevAddr);
284 virtual void setForcedDestinations(
DtBitMask const& mask,
285 MAKRti::DtTime delay);
289 virtual bool getForcedDestinations(
DtBitMask &mask)
const;
292 virtual void setSubscribedRate(
float rate,
const MAKRti::DtString& name,
bool inclusive);
293 virtual float maxSubscribedRate();
294 virtual const MAKRti::DtString& maxSubscribedRateName();
297 virtual void remoteSubscribeWithRegion(
308 virtual DtHandle remoteRegionSubscription(
313 virtual void addMatchingPub(
DtHandle regSetHandle,
315 virtual void removeMatchingPub(
DtHandle regSetHandle,
320 virtual void moveToOverlapPub(
DtHandle regSetHandle,
322 virtual void moveToMatchingPub(
DtHandle regSetHandle,
326 virtual void addOverlapPub(
DtHandle regSetHandle,
331 virtual void addMatchingSub(
DtHandle regSetHandle,
333 virtual void removeMatchingSub(
DtHandle regSetHandle,
338 virtual void moveToOverlapSub(
DtHandle regSetHandle);
339 virtual void moveToMatchingSub(
DtHandle regSetHandle,
343 virtual void addOverlapSub(
DtHandle regSetHandle,
347 virtual void subscribeByRegion(DtSubRegionSet
const& subRegSet,
349 virtual void unsubscribeByRegion(
DtHandle regSetHandle,
359 virtual int subscribeOverlaps(
DtHandle regSetHandle)
const;
362 virtual int subscribedWithRegions()
const;
366 virtual void incrementUpdateTally();
368 virtual void setUpdateTally(
unsigned long value);
369 virtual unsigned long updateTally();
370 virtual void incrementSentAttributesTally(MAKRti::DtTransportType transport,
371 unsigned int numberAttrs);
372 virtual void setSentAttributesTally(
unsigned long value,
373 MAKRti::DtTransportType transport);
374 virtual unsigned long sentAttributesTally(MAKRti::DtTransportType transport);
376 virtual void incrementReflectTally(MAKRti::DtTransportType transport,
377 unsigned int numberAttrs);
378 virtual void setReflectTally(
unsigned long value,
379 MAKRti::DtTransportType transport);
380 virtual unsigned long reflectTally(MAKRti::DtTransportType transport);
381 virtual void setReflectAttributesTally(
unsigned long value,
382 MAKRti::DtTransportType transport);
383 virtual unsigned long reflectAttributesTally(MAKRti::DtTransportType transport);
391 virtual void print()
const;
399 bool isScaffolding()
const;
403 bool isUnknown()
const;
405 void setIsUnknown(
bool unknown);
413 static bool sameAttrs(
const std::vector<DtAttrInfo>&,
const std::vector<DtAttrInfo>& );
417 virtual void throwIfNotDefined(
441 virtual void addSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
443 virtual void removeSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
445 virtual void moveSet(MAKRti::DtHashList& fromList,
446 MAKRti::DtHashList& toList,
DtHandle regSetHandle);
447 virtual void moveSet(MAKRti::DtHashList& fromList,
448 MAKRti::DtHashList& toList,
DtHandle regSetHandle,
457 void emptyRegionLists();
464 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
465 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
468 const MAKRti::DtString& updateCondition,
470 const MAKRti::DtString& semantics );
471 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
472 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
475 const MAKRti::DtString& updateCondition,
477 const MAKRti::DtString& semantics );
480 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
481 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
484 const MAKRti::DtString& updateCondition,
486 const MAKRti::DtString& semantics );
487 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
488 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
491 const MAKRti::DtString& updateCondition,
493 const MAKRti::DtString& semantics );
519 unsigned long myUpdateTally;
520 unsigned long myBestEffortReflectTally;
521 unsigned long myReliableReflectTally;
522 unsigned long myBestEffortSentAttributesTally;
523 unsigned long myBestEffortReflectAttributesTally;
524 unsigned long myReliableSentAttributesTally;
525 unsigned long myReliableReflectAttributesTally;
556 MAKRti::DtHashList mySubByRegion;
557 MAKRti::DtHashList myMatchingPubByRegion;
558 MAKRti::DtHashList myOverlapPubByRegion;
559 MAKRti::DtHashList myMatchingSubByRegion;
560 MAKRti::DtHashList myOverlapSubByRegion;
562 MAKRti::DtHashList myActiveSubByRegion;
593 bool regionSetHasDimensionsValue) :
bool myRegionSetHasDimensions
Definition: objClassInfo.h:645
DtAttributeHandleSet mySubscribedPassiveSet
Definition: objClassInfo.h:539
MAKRti::DtList mySubclasses
Definition: objClassInfo.h:513
bool myRegsOn
Have we most recently told the federate to turn on or off registration.
Definition: objClassInfo.h:529
virtual void addAttributes(DtAttributeHandleSet const &attrSet)
Add in more attributes.
Definition: objClassInfo.h:629
std::vector< DtAttrInfo > DtAttrVector
Definition: fomMgr.h:40
enum DtFomUpdateType_enum DtFomUpdateType
Update type for object.
MAKRti::DtString myName
Definition: objClassInfo.h:501
virtual DtAttributeHandleSet removeSetIntersection(const DtAttributeHandleSet &) const
DtAttrVector myAttrs
Definition: objClassInfo.h:531
virtual DtAttributeHandleSet setUnion(const DtAttributeHandleSet &) const
Definition: attrInfo.h:28
DtSharingType mySharing
Definition: objClassInfo.h:502
virtual bool regionSetHasDimensions() const
Return bool: Does the region set associated with these subscribed attribute have any dimensions...
Definition: objClassInfo.h:638
MAKRti::DtFomType myFomType
Definition: objClassInfo.h:506
DtObjectClassHandle myDiscoveredHandle
Definition: objClassInfo.h:505
bool myExplicitPubPrivToDel
Definition: objClassInfo.h:510
DtHandle DtRegionHandle
Definition: internalTypes.h:44
DtHandle DtObjectClassHandle
Definition: internalTypes.h:31
DtObjectClassInfo * myBase
Definition: objClassInfo.h:512
static const DtAttributeHandleSet theEmptySet
Definition: objClassInfo.h:572
enum DtSharingType_enum DtSharingType
DtSubByRegionAttributes()
Constructors.
Definition: objClassInfo.h:585
DtAttributeHandleSet myAttrSet
Definition: objClassInfo.h:535
bool myIsUnknown
Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM ...
Definition: objClassInfo.h:568
virtual ~DtSubByRegionAttributes()
Destructor.
Definition: objClassInfo.h:606
Definition: attrHandSet.h:37
DtBitMask * myForceDestinationsMask
Create this bit mask to temporarily force destinations after publish.
Definition: objClassInfo.h:551
virtual DtAttributeHandleSet const & attributes() const
The subscribed attributes.
Definition: objClassInfo.h:625
std::set< DtRegionHandle > DtRegionHandleSet
Definition: internalTypes.h:45
virtual DtRegionHandle regionHandle() const
The region associated with the subscribed attributes.
Definition: objClassInfo.h:621
DtHandle DtFederateHandle
Definition: internalTypes.h:29
MAKRti::DtInetAddr myAddr
Definition: objClassInfo.h:547
MAKRti::DtTime myForceDestinationsTime
Definition: objClassInfo.h:552
DtAttributeHandleSet myRelevantSet
Attributes that could cause object discovery at a remote federate if they are published or become pub...
Definition: objClassInfo.h:545
Record used to keep track of subscribe by region.
Definition: objClassInfo.h:580
MAKRti::DtHashlist myRemoteSubscriptions
Definition: objClassInfo.h:515
DtSubByRegionAttributes & operator=(DtSubByRegionAttributes const &orig)
Assignment operator.
Definition: objClassInfo.h:610
int myFirstAttribute
Definition: objClassInfo.h:532
long DtSpaceHandle
Definition: internalTypes.h:26
The object manager class processes the object management services.
Definition: objMgr.h:90
static const unsigned int theMaxAttrs
Definition: objClassInfo.h:573
DtObjectClassHandle myHandle
Definition: objClassInfo.h:504
DtAttributeHandleSet mySubscribedActiveSet
Definition: objClassInfo.h:538
DtSubByRegionAttributes(DtRegionHandle regionHandleValue, DtAttributeHandleSet const &attributesValue, bool regionSetHasDimensionsValue)
Definition: objClassInfo.h:590
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:25
DtHandle DtAttributeHandle
Definition: internalTypes.h:37
virtual void removeAttributes(DtAttributeHandleSet const &attrSet)
Remove attributes.
Definition: objClassInfo.h:633
enum DtOwnershipType_enum DtOwnershipType
bool myIsPassive
Definition: objClassInfo.h:509
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
DtAttributeHandleSet myAttributes
Definition: objClassInfo.h:644
Definition: saveFile.h:21
MAKRti::DtInetAddr myDevAddr
Definition: objClassInfo.h:548
DtSubByRegionAttributes(DtSubByRegionAttributes const &orig)
Definition: objClassInfo.h:599
The declaration of internal types.
Definition: objClassInfo.h:37
bool mySubscribed
Definition: objClassInfo.h:507
bool myPublished
Definition: objClassInfo.h:508
MAKRti::DtString mySemantics
Definition: objClassInfo.h:503
Definition: objClassPacket.h:20
DtAttributeHandleSet mySubscribedSet
Definition: objClassInfo.h:537
bool myExplicitUnpubPrivToDel
Definition: objClassInfo.h:511
DtAttributeHandleSet myPublishedSet
Definition: objClassInfo.h:536
DtRegionHandle myRegionHandle
Definition: objClassInfo.h:639
MAKRti::DtClock myClock
Definition: objClassInfo.h:553