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);
416 static bool sameAttrs(
const std::vector<DtAttrInfo>&,
const std::vector<DtAttrInfo>& );
420 virtual void throwIfNotDefined(
444 virtual void addSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
446 virtual void removeSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
448 virtual void moveSet(MAKRti::DtHashList& fromList,
449 MAKRti::DtHashList& toList,
DtHandle regSetHandle);
450 virtual void moveSet(MAKRti::DtHashList& fromList,
451 MAKRti::DtHashList& toList,
DtHandle regSetHandle,
460 void emptyRegionLists();
467 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
468 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
471 const MAKRti::DtString& updateCondition,
473 const MAKRti::DtString& semantics );
474 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
475 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
478 const MAKRti::DtString& updateCondition,
480 const MAKRti::DtString& semantics );
483 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
484 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
487 const MAKRti::DtString& updateCondition,
489 const MAKRti::DtString& semantics );
490 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
491 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
494 const MAKRti::DtString& updateCondition,
496 const MAKRti::DtString& semantics );
522 unsigned long myUpdateTally;
523 unsigned long myBestEffortReflectTally;
524 unsigned long myReliableReflectTally;
525 unsigned long myBestEffortSentAttributesTally;
526 unsigned long myBestEffortReflectAttributesTally;
527 unsigned long myReliableSentAttributesTally;
528 unsigned long myReliableReflectAttributesTally;
559 MAKRti::DtHashList mySubByRegion;
560 MAKRti::DtHashList myMatchingPubByRegion;
561 MAKRti::DtHashList myOverlapPubByRegion;
562 MAKRti::DtHashList myMatchingSubByRegion;
563 MAKRti::DtHashList myOverlapSubByRegion;
565 MAKRti::DtHashList myActiveSubByRegion;
596 bool regionSetHasDimensionsValue) :
bool myRegionSetHasDimensions
Definition: objClassInfo.h:648
DtAttributeHandleSet mySubscribedPassiveSet
Definition: objClassInfo.h:542
MAKRti::DtList mySubclasses
Definition: objClassInfo.h:516
bool myRegsOn
Have we most recently told the federate to turn on or off registration.
Definition: objClassInfo.h:532
virtual void addAttributes(DtAttributeHandleSet const &attrSet)
Add in more attributes.
Definition: objClassInfo.h:632
std::vector< DtAttrInfo > DtAttrVector
Definition: fomMgr.h:40
enum DtFomUpdateType_enum DtFomUpdateType
Update type for object.
MAKRti::DtString myName
Definition: objClassInfo.h:504
virtual DtAttributeHandleSet removeSetIntersection(const DtAttributeHandleSet &) const
DtAttrVector myAttrs
Definition: objClassInfo.h:534
virtual DtAttributeHandleSet setUnion(const DtAttributeHandleSet &) const
Definition: attrInfo.h:28
DtSharingType mySharing
Definition: objClassInfo.h:505
virtual bool regionSetHasDimensions() const
Return bool: Does the region set associated with these subscribed attribute have any dimensions...
Definition: objClassInfo.h:641
MAKRti::DtFomType myFomType
Definition: objClassInfo.h:509
DtObjectClassHandle myDiscoveredHandle
Definition: objClassInfo.h:508
bool myExplicitPubPrivToDel
Definition: objClassInfo.h:513
DtHandle DtRegionHandle
Definition: internalTypes.h:44
DtHandle DtObjectClassHandle
Definition: internalTypes.h:31
DtObjectClassInfo * myBase
Definition: objClassInfo.h:515
static const DtAttributeHandleSet theEmptySet
Definition: objClassInfo.h:575
enum DtSharingType_enum DtSharingType
DtSubByRegionAttributes()
Constructors.
Definition: objClassInfo.h:588
DtAttributeHandleSet myAttrSet
Definition: objClassInfo.h:538
bool myIsUnknown
Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM ...
Definition: objClassInfo.h:571
virtual ~DtSubByRegionAttributes()
Destructor.
Definition: objClassInfo.h:609
Definition: attrHandSet.h:37
DtBitMask * myForceDestinationsMask
Create this bit mask to temporarily force destinations after publish.
Definition: objClassInfo.h:554
virtual DtAttributeHandleSet const & attributes() const
The subscribed attributes.
Definition: objClassInfo.h:628
std::set< DtRegionHandle > DtRegionHandleSet
Definition: internalTypes.h:45
virtual DtRegionHandle regionHandle() const
The region associated with the subscribed attributes.
Definition: objClassInfo.h:624
DtHandle DtFederateHandle
Definition: internalTypes.h:29
MAKRti::DtInetAddr myAddr
Definition: objClassInfo.h:550
MAKRti::DtTime myForceDestinationsTime
Definition: objClassInfo.h:555
DtAttributeHandleSet myRelevantSet
Attributes that could cause object discovery at a remote federate if they are published or become pub...
Definition: objClassInfo.h:548
Record used to keep track of subscribe by region.
Definition: objClassInfo.h:583
MAKRti::DtHashlist myRemoteSubscriptions
Definition: objClassInfo.h:518
DtSubByRegionAttributes & operator=(DtSubByRegionAttributes const &orig)
Assignment operator.
Definition: objClassInfo.h:613
int myFirstAttribute
Definition: objClassInfo.h:535
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:576
DtObjectClassHandle myHandle
Definition: objClassInfo.h:507
DtAttributeHandleSet mySubscribedActiveSet
Definition: objClassInfo.h:541
DtSubByRegionAttributes(DtRegionHandle regionHandleValue, DtAttributeHandleSet const &attributesValue, bool regionSetHasDimensionsValue)
Definition: objClassInfo.h:593
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:636
enum DtOwnershipType_enum DtOwnershipType
bool myIsPassive
Definition: objClassInfo.h:512
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:647
Definition: saveFile.h:21
MAKRti::DtInetAddr myDevAddr
Definition: objClassInfo.h:551
DtSubByRegionAttributes(DtSubByRegionAttributes const &orig)
Definition: objClassInfo.h:602
The declaration of internal types.
Definition: objClassInfo.h:37
bool mySubscribed
Definition: objClassInfo.h:510
bool myPublished
Definition: objClassInfo.h:511
MAKRti::DtString mySemantics
Definition: objClassInfo.h:506
Definition: objClassPacket.h:20
DtAttributeHandleSet mySubscribedSet
Definition: objClassInfo.h:540
bool myExplicitUnpubPrivToDel
Definition: objClassInfo.h:514
DtAttributeHandleSet myPublishedSet
Definition: objClassInfo.h:539
DtRegionHandle myRegionHandle
Definition: objClassInfo.h:642
MAKRti::DtClock myClock
Definition: objClassInfo.h:556