MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
DtObjectClassInfo Class Reference
+ Collaboration diagram for DtObjectClassInfo:

Public Types

typedef std::map
< DtObjectClassHandle,
DtObjectClassInfo * > 
DtObjectClassByHandleMap
 
typedef std::map
< MAKRti::DtString,
DtObjectClassInfo * > 
DtObjectClassByNameMap
 

Public Member Functions

 DtObjectClassInfo (const char *name, DtObjectClassInfo *base, DtObjectClassHandle handle, DtSharingType sharing, const MAKRti::DtString &semantics)
 Constructors. More...
 
 DtObjectClassInfo (const DtObjectClassInfo &orig)
 
virtual ~DtObjectClassInfo ()
 Destructor. More...
 
DtObjectClassInfooperator= (const DtObjectClassInfo &orig)
 Assignment operator (not implemented) More...
 
virtual void setFomType (MAKRti::DtFomType type)
 Set/Get the FOM type. More...
 
virtual MAKRti::DtFomType fomType () const
 
virtual DtAttrInfoaddAttr (const char *attrName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSharingType sharingType, DtFomUpdateType updateType, const MAKRti::DtString &updateCondition, DtOwnershipType ownership, const MAKRti::DtString &semantics, bool addSorted)
 Adds an attribute to the class. Used when reading Fed file. More...
 
virtual DtAttrInfoaddAttr (const char *attrName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSpaceHandle space, DtSharingType sharingType, DtFomUpdateType updateType, const MAKRti::DtString &updateCondition, DtOwnershipType ownership, const MAKRti::DtString &semantics, bool addSorted)
 Adds an attribute to the class. Used when reading Fed file. More...
 
virtual DtAttrInfomergeAttr (const char *attrName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSharingType sharingType, DtFomUpdateType updateType, const MAKRti::DtString &updateCondition, DtOwnershipType ownership, const MAKRti::DtString &semantics)
 Adds an attribute to an established class. Used when merging FOM targets. More...
 
virtual DtAttrInfomergeAttr (const char *attrName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSpaceHandle space, DtSharingType sharingType, DtFomUpdateType updateType, const MAKRti::DtString &updateCondition, DtOwnershipType ownership, const MAKRti::DtString &semantics)
 Adds an attribute to an established class. Used when merging FOM targets. More...
 
virtual const char * name () const
 Return class name, as in FOM. More...
 
virtual DtSharingType sharing () const
 sharing type access/mutate More...
 
virtual void setSharing (DtSharingType share)
 
virtual const char * semantics () const
 semantics access/mutate More...
 
virtual void setSemantics (const MAKRti::DtString &sem)
 
virtual bool isName (const char *name) const
 Return boolean: name matches? Compare depends on FOM type: insensitive for 1.3 and sensitive for 1516 Root name is prepended to name if necessary. More...
 
virtual bool isFullName (const char *name) const
 Root name is required. More...
 
virtual DtObjectClassHandle handle () const
 Set/get class handle. More...
 
virtual void setHandle (DtObjectClassHandle handleValue)
 
virtual DtObjectClassHandle discoveredHandle () const
 Set/get discovered class handle This value is always 0 if isUnknown() is false. More...
 
virtual void setDiscoveredHandle (DtObjectClassHandle handleValue)
 
virtual DtObjectClassInfobaseClass () const
 Return pointer to base class descriptor. More...
 
virtual void setBaseClass (DtObjectClassInfo *base)
 Set base class (used when deep copying FOM target not when constructing target) More...
 
virtual int isOfClass (DtObjectClassHandle handle) const
 Returns 1 if this class is handle or is a subclass of handle. More...
 
virtual bool isMom ()
 Return true if this is a MOM class. More...
 
virtual bool isRoot ()
 Return true if this is the Root class. More...
 
virtual void addSubclass (DtObjectClassInfo *sub)
 Add a subclass (called during FED processing) More...
 
virtual DtAttributeHandle attrHandle (const char *theName) const
 Get attribute handle from name. More...
 
virtual char * attrName (DtAttributeHandle theHandle) const
 Get attribute name from handle. More...
 
virtual MAKRti::DtTransportType attrTransport (DtAttributeHandle theHandle) const
 Get attribute transport type from handle. More...
 
virtual MAKRti::DtOrderType attrOrder (DtAttributeHandle theHandle) const
 Get attribute order from handle. More...
 
virtual DtSpaceHandle attrSpace (DtAttributeHandle theHandle) const
 Get attribute space from handle. More...
 
virtual DtAttributeByHandleMap
const & 
attrs () const
 Returns the set of attribute infos. More...
 
virtual DtAttributeByHandleMap
const & 
ownAttrs () const
 Returns the set of attribute infos just from this class. More...
 
virtual int numAttributes () const
 Returns the number of attributes. More...
 
virtual const
DtAttributeHandleSet
attributeHandles () const
 Returns the set of attribute handles. More...
 
virtual void publish (DtAttributeHandleSet const &attributeList, DtObjectMgr *objMgr, bool isReplacement, bool isRepublish)
 Publish and unpublish Publishing an empty list with replacement enabled results in unpublish from all class attributes. More...
 
virtual void unpublishAttributes (DtAttributeHandleSet const &attributeList, bool implicitUnpublishPrivilegeToDelete, DtObjectMgr *objMgr)
 
virtual
DtInteractionClassHandleStdSet
const & 
publishedDirectedInteractions () const
 
virtual void publishDirectedInteractions (DtInteractionClassHandleStdSet const &interactions)
 
virtual void unpublishDirectedInteractions (DtInteractionClassHandleStdSet const &interactions)
 
virtual bool isPublishedDirectedInteraction (DtInteractionClassHandle classHandle) const
 
virtual
DtInteractionClassHandleStdSet
const & 
subscribedDirectedInteractions () const
 
virtual void subscribeDirectedInteractions (DtInteractionClassHandleStdSet const &interactions, bool universal)
 
virtual void unsubscribeDirectedInteractions (DtInteractionClassHandleStdSet const &interactions)
 
virtual bool isSubscribedDirectedInteraction (DtInteractionClassHandle classHandle, bool universal) const
 
virtual bool published () const
 Return boolean: is class published? More...
 
virtual void subscribe (const DtAttributeHandleSet &attributeList, bool isPassiveValue, bool isReplacement=true)
 Subscribe and unsubscribe. More...
 
virtual void unsubscribeClass ()
 
virtual void unsubscribeAttributes (DtAttributeHandleSet const &attributeList)
 
virtual bool subscribed () const
 Return boolean: is class subscribed? More...
 
virtual bool isPassive () const
 Return boolean: is subscription passive? More...
 
virtual const bool isSubscribed (DtAttributeHandle attrHandle, DtRegionHandle regSetHandle) const
 Using default region handle indicates check for DM subscription only. More...
 
virtual const bool isActiveSubscribed (DtAttributeHandle attrHandle, DtRegionHandle regSetHandle) const
 
virtual DtAttributeHandleSet
const & 
subscribedAttrs () const
 Returns the set of DM subscribed attributes. More...
 
virtual DtAttributeHandleSet
const & 
subscribedActiveAttrs () const
 
virtual DtAttributeHandleSet
const & 
subscribedPassiveAttrs () const
 
virtual const
DtAttributeHandleSet
subscribedAttrs (DtHandle regSetHandle) const
 Returns all subscribed attributes if handle is the default region set Otherwise, just those subscribed attributes that match with the remote publication region. More...
 
virtual DtAttributeHandleSet
const & 
subscribedActiveAttrs (DtHandle regSetHandle) const
 
virtual const
DtAttributeHandleSet
publishedAttrs () const
 Returns the set of published attributes. More...
 
virtual const
DtAttributeHandleSet
relevantAttrs () const
 Returns the set of relevant attributes: Attributes that could cause object discovery at a remote federate if they are published or become published. More...
 
virtual void remoteSubscribe (const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle, bool isReplacement, DtObjectMgr *objMgr)
 Do bookkeeping associated with a remote federate subscription. More...
 
virtual void remotePassiveSubscribe (const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle, bool replacement, DtObjectMgr *objMgr)
 Process remote passive subscription to add pending send register for any objects that could be discovered by it Replacement forces updates to any relevance changes from active to passive. More...
 
virtual void remoteUnsubscribeAttributes (DtFederateHandle fedHandle, const DtAttributeHandleSet &attrs, DtObjectMgr *objMgr)
 Do bookkeeping associated with a remote federate unsubscription. More...
 
virtual void removeSubscriptions (DtFederateHandle fedHandle, DtObjectMgr *objMgr, bool isResigning=false)
 Remove all subscriptions from the given federate. More...
 
virtual int numRemoteFederatesSubscribed ()
 Returns number of remote federates subscribed to this class. More...
 
virtual bool remoteFederateIsSubscribed (DtFederateHandle fedHandle) const
 Returns true if the remote federate is subscribed to this class. More...
 
virtual DtAttributeHandleSet
const * 
remoteSubscription (DtFederateHandle fedHandle) const
 Returns remote federate's subscribed attributes. More...
 
virtual const MAKRti::DtHashList & subscribedFederates () const
 Returns a list of remote federate subscribed attributes. More...
 
virtual bool relevant () const
 Returns true if the class is relevant: registered object could cause discovery at remote federate, false otherwise. More...
 
virtual bool relevant (DtAttributeHandle) const
 Returns true if the attribute is relevant: attribute instance could cause discovery at remote federate, false otherwise. More...
 
virtual const MAKRti::DtInetAddr & destinationAddress () const
 Set/Get the destination to send to when using DM Filtering Inclusive sets recurse for all derived classes. More...
 
virtual const MAKRti::DtInetAddr & destinationDevice () const
 
virtual void setDestination (MAKRti::DtInetAddr addr, MAKRti::DtInetAddr devAddr, bool inclusive, MAKRti::DtInetAddr oldAddr, MAKRti::DtInetAddr oldDevAddr)
 
virtual void setForcedDestinations (DtBitMask const &mask, MAKRti::DtTime delay)
 Set a forced destination mask Temporarily set a forced destinations mask for given delay A negative time delay will force the destinations indefinitely. More...
 
virtual bool getForcedDestinations (DtBitMask &mask) const
 Get the forced destination mask if active Returns true if the forced destination mask is active. More...
 
virtual void setSubscribedRate (float rate, const MAKRti::DtString &name, bool inclusive)
 Apply objects subscribed rate to attrInfo's. More...
 
virtual float maxSubscribedRate ()
 
virtual const MAKRti::DtString & maxSubscribedRateName ()
 
virtual bool save (DtRtiSaveFile &file)
 save and restore More...
 
virtual bool restore (DtObjectClassPacket *packet, DtRtiSaveFile &file)
 
virtual void print () const
 Print the contents. More...
 
virtual bool sameAncestry (const DtObjectClassInfo *) const
 Test equality. More...
 
bool operator== (const DtObjectClassInfo &other) const
 
bool operator!= (const DtObjectClassInfo &other) const
 
virtual bool isScaffolding () const
 Determines whether the class is a scaffolding class. More...
 
virtual bool diffClass (const DtObjectClassInfo &classInfo, DtAttributeByHandleMap &diff) const
 First test given class for equality excluding attributes. More...
 
virtual bool isUnknown () const
 Determines whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate. More...
 
virtual void setIsUnknown (bool unknown)
 Set the is unknown status. More...
 
virtual void getAttrInfoForAttrHandleSet (const DtAttributeHandleSet &input, DtAttrVector &attrVector) const
 Fills out the given vector with DtAttrInfo for the supplied DtAttributeHandleSet. More...
 
virtual const
DtObjectClassByHandleMap
subclasses () const
 Return list of subclasses. More...
 
virtual DtObjectClassByHandleMapsubclasses ()
 Return list of subclasses. More...
 
virtual DtAttrInfoattrByHandle (const DtAttributeHandle theHandle)
 Get Attribute descriptor by handle. More...
 
virtual const DtAttrInfoattrByHandle (const DtAttributeHandle theHandle) const
 Get Attribute descriptor by handle. More...
 
virtual DtAttrInfoattrByName (const char *theName)
 Get Attribute descriptor by name. More...
 
virtual const DtAttrInfoattrByName (const char *theName) const
 Get Attribute descriptor by name. More...
 
virtual
DtInteractionClassHandleStdSet
const & 
directedInteractions () const
 Get/Add/Remove directed interaction handles. More...
 
virtual void addDirectedInteraction (DtInteractionClassHandle interactionClassHandle)
 Get/Add/Remove directed interaction handles. More...
 
virtual void removeDirectedInteraction (DtInteractionClassHandle interactionClassHandle)
 Get/Add/Remove directed interaction handles. More...
 

Static Public Member Functions

static const char * swapRootName (const char *name, MAKRti::DtFomType fomType, MAKRti::DtString &adjustedName)
 Swap or add the root class name part of the given name to the this class' FOM type Return the adjusted name's c string. More...
 

Protected Member Functions

virtual void addInheritedAttribute (const DtAttrInfo &attrInfo)
 Add an inherited attribute (makes copy of given attribute) More...
 
virtual void addInheritedAttributes (const DtObjectClassInfo &baseClass)
 Add inherited attributes from the given base class (makes copies of the attributes) More...
 
virtual void addOwnAttribute (DtAttrInfo *attrInfo)
 Add an own attribute. More...
 
virtual void inheritMergedAttribute (const DtAttrInfo &attribute)
 Inherit the given merged attribute from base class recursively through subclasses. More...
 
virtual bool sameObjectClass (const DtObjectClassInfo &classInfo) const
 Test class for equality (including attributes) More...
 
virtual bool diffAttributes (const DtObjectClassInfo &classInfo, DtAttributeByHandleMap &diff) const
 Take the difference of own attributes between classes: the given class info from this class info. More...
 
virtual void throwIfNotDefined (const DtAttributeHandleSet &attributeList, const MAKRti::DtString &message)
 Throws AttributeNotDefined exception if any member of attrs is not a valid attribute handle. More...
 
virtual void addRemoteSubscription (DtFederateHandle fedHandle, const DtAttributeHandleSet &attrs, bool isReplacement)
 Add/delete remote subscription to this class by indicated federate Replaces attribute set if already subscribed. More...
 
virtual void deleteRemoteSubscription (DtFederateHandle fedHandle, DtAttributeHandleSet const &attrs)
 
virtual void addRemoteSubscription (DtFederateHandle fedHandle, DtAttributeHandle attrHandle)
 Attribute subscription is added to existing subscribed set (created does not exist) More...
 
virtual void updateRelevance (const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle, DtObjectMgr *objMgr, bool isResigning=false)
 Update the relevance field of this class and all subclasses, based on a particular remote and current subscriptions. More...
 
DtObjectClassInfoself () const
 
virtual void reIndexAttributesByName (DtAttrInfo *attrInfo)
 The given attribute was just added with the next handle. More...
 
virtual bool intersectPublished (DtObjectClassInfo *objClass, const DtAttributeHandleSet &listToIntersect)
 Run an intersection between the list of attributes and all published attributes including children. More...
 
virtual void nameUpdateCheck ()
 Update indicators of root and MOM class. More...
 
virtual void updateAvailableAttributeHandle (DtAttributeHandle attrHandle)
 The given attribute handle is now occupied. Update the next available attribute handle. More...
 
virtual void updateAvailableAttributeHandles (const DtAttributeHandleStdSet &handles)
 The given attribute handle is now occupied. Update the next available attribute handle. More...
 
virtual void addUsedAttributeHandle (DtAttributeHandle handle)
 Add attribute handle(s) to used list by this class or one of its sub classes Recursively add to base classes. More...
 
virtual void addUsedAttributeHandles (const DtAttributeHandleStdSet &handles)
 Add attribute handle(s) to used list by this class or one of its sub classes Recursively add to base classes. More...
 

Static Protected Member Functions

static bool sameAttrs (const std::vector< DtAttrInfo > &left, const std::vector< DtAttrInfo > &right)
 Test attributes for equality (of this class excluding inherited attributes) More...
 

Protected Attributes

MAKRti::DtString myName
 
DtSharingType mySharing
 
MAKRti::DtString mySemantics
 
DtObjectClassHandle myHandle
 
DtObjectClassHandle myDiscoveredHandle
 
MAKRti::DtFomType myFomType
 
bool myIsMom
 
bool myIsRoot
 
bool mySubscribed
 
bool myPublished
 
bool myIsPassive
 
bool myExplicitPubPrivToDel
 
bool myExplicitUnpubPrivToDel
 
DtObjectClassInfomyBase
 
DtObjectClassByHandleMap mySubclassByHandle
 
DtObjectClassByNameMap mySubclassByName
 
DtAttributeHandle myAvailableAttributeHandle
 The available attribute handle which is the maximum of this classes own attributes or any of its subclasses. More...
 
MAKRti::DtHashlist myRemoteSubscriptions
 
bool myRegsOn
 Have we most recently told the federate to turn on or off registration. More...
 
DtAttributeByHandleMap myAttrsByHandle
 
DtAttributeByHandleMap myOwnAttrsByHandle
 
DtAttributeByNameMap myAttrsByName
 
DtAttributeByNameMap myOwnAttrsByName
 
DtAttributeHandleStdSet myUsedAttributeHandles
 
DtAttributeHandleSet myAttributeHandleSet
 
DtAttributeHandleSet myPublishedSet
 
DtAttributeHandleSet mySubscribedSet
 
DtAttributeHandleSet mySubscribedActiveSet
 
DtAttributeHandleSet mySubscribedPassiveSet
 
DtInteractionClassHandleStdSet myPublishedInteractions
 
DtInteractionClassHandleStdSet mySubscribedInteractions
 
DtInteractionClassHandleStdSet mySubscribedInteractionsUniversal
 
DtAttributeHandleSet myRelevantSet
 Attributes that could cause object discovery at a remote federate if they are published or become published. More...
 
MAKRti::DtInetAddr myAddr
 
MAKRti::DtInetAddr myDevAddr
 
DtBitMaskmyForceDestinationsMask
 Create this bit mask to temporarily force destinations after publish. More...
 
MAKRti::DtTime myForceDestinationsTime
 
MAKRti::DtClock myClock
 
DtInteractionClassHandleStdSet myDirectedInteractions
 
bool myIsUnknown
 Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate. More...
 

Static Protected Attributes

static const DtAttributeHandleSet theEmptySet
 
static const unsigned int theMaxAttrs
 

Member Typedef Documentation

typedef std::map<MAKRti::DtString, DtObjectClassInfo*> DtObjectClassInfo::DtObjectClassByNameMap

Constructor & Destructor Documentation

DtObjectClassInfo::DtObjectClassInfo ( const char *  name,
DtObjectClassInfo base,
DtObjectClassHandle  handle,
DtSharingType  sharing,
const MAKRti::DtString &  semantics 
)

Constructors.

DtObjectClassInfo::DtObjectClassInfo ( const DtObjectClassInfo orig)
virtual DtObjectClassInfo::~DtObjectClassInfo ( )
virtual

Destructor.

Member Function Documentation

virtual DtAttrInfo* DtObjectClassInfo::addAttr ( const char *  attrName,
MAKRti::DtTransportType  transport,
MAKRti::DtOrderType  order,
DtSharingType  sharingType,
DtFomUpdateType  updateType,
const MAKRti::DtString &  updateCondition,
DtOwnershipType  ownership,
const MAKRti::DtString &  semantics,
bool  addSorted 
)
virtual

Adds an attribute to the class. Used when reading Fed file.

virtual DtAttrInfo* DtObjectClassInfo::addAttr ( const char *  attrName,
MAKRti::DtTransportType  transport,
MAKRti::DtOrderType  order,
DtSpaceHandle  space,
DtSharingType  sharingType,
DtFomUpdateType  updateType,
const MAKRti::DtString &  updateCondition,
DtOwnershipType  ownership,
const MAKRti::DtString &  semantics,
bool  addSorted 
)
virtual

Adds an attribute to the class. Used when reading Fed file.

virtual void DtObjectClassInfo::addDirectedInteraction ( DtInteractionClassHandle  interactionClassHandle)
virtual

Get/Add/Remove directed interaction handles.

virtual void DtObjectClassInfo::addInheritedAttribute ( const DtAttrInfo attrInfo)
protectedvirtual

Add an inherited attribute (makes copy of given attribute)

virtual void DtObjectClassInfo::addInheritedAttributes ( const DtObjectClassInfo baseClass)
protectedvirtual

Add inherited attributes from the given base class (makes copies of the attributes)

virtual void DtObjectClassInfo::addOwnAttribute ( DtAttrInfo attrInfo)
protectedvirtual

Add an own attribute.

virtual void DtObjectClassInfo::addRemoteSubscription ( DtFederateHandle  fedHandle,
const DtAttributeHandleSet attrs,
bool  isReplacement 
)
protectedvirtual

Add/delete remote subscription to this class by indicated federate Replaces attribute set if already subscribed.

virtual void DtObjectClassInfo::addRemoteSubscription ( DtFederateHandle  fedHandle,
DtAttributeHandle  attrHandle 
)
protectedvirtual

Attribute subscription is added to existing subscribed set (created does not exist)

virtual void DtObjectClassInfo::addSubclass ( DtObjectClassInfo sub)
virtual

Add a subclass (called during FED processing)

virtual void DtObjectClassInfo::addUsedAttributeHandle ( DtAttributeHandle  handle)
protectedvirtual

Add attribute handle(s) to used list by this class or one of its sub classes Recursively add to base classes.

virtual void DtObjectClassInfo::addUsedAttributeHandles ( const DtAttributeHandleStdSet handles)
protectedvirtual

Add attribute handle(s) to used list by this class or one of its sub classes Recursively add to base classes.

virtual DtAttrInfo* DtObjectClassInfo::attrByHandle ( const DtAttributeHandle  theHandle)
virtual

Get Attribute descriptor by handle.

virtual const DtAttrInfo* DtObjectClassInfo::attrByHandle ( const DtAttributeHandle  theHandle) const
virtual

Get Attribute descriptor by handle.

virtual DtAttrInfo* DtObjectClassInfo::attrByName ( const char *  theName)
virtual

Get Attribute descriptor by name.

virtual const DtAttrInfo* DtObjectClassInfo::attrByName ( const char *  theName) const
virtual

Get Attribute descriptor by name.

virtual DtAttributeHandle DtObjectClassInfo::attrHandle ( const char *  theName) const
virtual

Get attribute handle from name.

virtual const DtAttributeHandleSet& DtObjectClassInfo::attributeHandles ( ) const
virtual

Returns the set of attribute handles.

virtual char* DtObjectClassInfo::attrName ( DtAttributeHandle  theHandle) const
virtual

Get attribute name from handle.

virtual MAKRti::DtOrderType DtObjectClassInfo::attrOrder ( DtAttributeHandle  theHandle) const
virtual

Get attribute order from handle.

virtual DtAttributeByHandleMap const& DtObjectClassInfo::attrs ( ) const
virtual

Returns the set of attribute infos.

virtual DtSpaceHandle DtObjectClassInfo::attrSpace ( DtAttributeHandle  theHandle) const
virtual

Get attribute space from handle.

virtual MAKRti::DtTransportType DtObjectClassInfo::attrTransport ( DtAttributeHandle  theHandle) const
virtual

Get attribute transport type from handle.

virtual DtObjectClassInfo* DtObjectClassInfo::baseClass ( ) const
virtual

Return pointer to base class descriptor.

virtual void DtObjectClassInfo::deleteRemoteSubscription ( DtFederateHandle  fedHandle,
DtAttributeHandleSet const &  attrs 
)
protectedvirtual
virtual const MAKRti::DtInetAddr& DtObjectClassInfo::destinationAddress ( ) const
virtual

Set/Get the destination to send to when using DM Filtering Inclusive sets recurse for all derived classes.

virtual const MAKRti::DtInetAddr& DtObjectClassInfo::destinationDevice ( ) const
virtual
virtual bool DtObjectClassInfo::diffAttributes ( const DtObjectClassInfo classInfo,
DtAttributeByHandleMap diff 
) const
protectedvirtual

Take the difference of own attributes between classes: the given class info from this class info.

Warning! - diff is a shallow copy Returns true if matching attributes are the same; otherwise, false

virtual bool DtObjectClassInfo::diffClass ( const DtObjectClassInfo classInfo,
DtAttributeByHandleMap diff 
) const
virtual

First test given class for equality excluding attributes.

Then take diff of its attributes from this info's attributes where matching attributes must be equal. Warning! - attribute diff is a shallow copy Returns true if class and matching attributes are the same; otherwise, false

virtual DtInteractionClassHandleStdSet const& DtObjectClassInfo::directedInteractions ( ) const
virtual

Get/Add/Remove directed interaction handles.

virtual DtObjectClassHandle DtObjectClassInfo::discoveredHandle ( ) const
virtual

Set/get discovered class handle This value is always 0 if isUnknown() is false.

virtual MAKRti::DtFomType DtObjectClassInfo::fomType ( ) const
virtual
virtual void DtObjectClassInfo::getAttrInfoForAttrHandleSet ( const DtAttributeHandleSet input,
DtAttrVector attrVector 
) const
virtual

Fills out the given vector with DtAttrInfo for the supplied DtAttributeHandleSet.

virtual bool DtObjectClassInfo::getForcedDestinations ( DtBitMask mask) const
virtual

Get the forced destination mask if active Returns true if the forced destination mask is active.

virtual DtObjectClassHandle DtObjectClassInfo::handle ( ) const
virtual

Set/get class handle.

virtual void DtObjectClassInfo::inheritMergedAttribute ( const DtAttrInfo attribute)
protectedvirtual

Inherit the given merged attribute from base class recursively through subclasses.

virtual bool DtObjectClassInfo::intersectPublished ( DtObjectClassInfo objClass,
const DtAttributeHandleSet listToIntersect 
)
protectedvirtual

Run an intersection between the list of attributes and all published attributes including children.

Returns
true if there is an intersection, false otherwise
virtual const bool DtObjectClassInfo::isActiveSubscribed ( DtAttributeHandle  attrHandle,
DtRegionHandle  regSetHandle 
) const
virtual
virtual bool DtObjectClassInfo::isFullName ( const char *  name) const
virtual

Root name is required.

Simple compare of provided name with this class name Compare depends on FOM type: insensitive for 1.3 and sensitive for 1516

virtual bool DtObjectClassInfo::isMom ( )
virtual

Return true if this is a MOM class.

virtual bool DtObjectClassInfo::isName ( const char *  name) const
virtual

Return boolean: name matches? Compare depends on FOM type: insensitive for 1.3 and sensitive for 1516 Root name is prepended to name if necessary.

virtual int DtObjectClassInfo::isOfClass ( DtObjectClassHandle  handle) const
virtual

Returns 1 if this class is handle or is a subclass of handle.

virtual bool DtObjectClassInfo::isPassive ( ) const
virtual

Return boolean: is subscription passive?

virtual bool DtObjectClassInfo::isPublishedDirectedInteraction ( DtInteractionClassHandle  classHandle) const
virtual
virtual bool DtObjectClassInfo::isRoot ( )
virtual

Return true if this is the Root class.

virtual bool DtObjectClassInfo::isScaffolding ( ) const
virtual

Determines whether the class is a scaffolding class.

virtual const bool DtObjectClassInfo::isSubscribed ( DtAttributeHandle  attrHandle,
DtRegionHandle  regSetHandle 
) const
virtual

Using default region handle indicates check for DM subscription only.

Return bool: does attribute subscription overlap with this region?

virtual bool DtObjectClassInfo::isSubscribedDirectedInteraction ( DtInteractionClassHandle  classHandle,
bool  universal 
) const
virtual
virtual bool DtObjectClassInfo::isUnknown ( ) const
virtual

Determines whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate.

virtual float DtObjectClassInfo::maxSubscribedRate ( )
virtual
virtual const MAKRti::DtString& DtObjectClassInfo::maxSubscribedRateName ( )
virtual
virtual DtAttrInfo* DtObjectClassInfo::mergeAttr ( const char *  attrName,
MAKRti::DtTransportType  transport,
MAKRti::DtOrderType  order,
DtSharingType  sharingType,
DtFomUpdateType  updateType,
const MAKRti::DtString &  updateCondition,
DtOwnershipType  ownership,
const MAKRti::DtString &  semantics 
)
virtual

Adds an attribute to an established class. Used when merging FOM targets.

virtual DtAttrInfo* DtObjectClassInfo::mergeAttr ( const char *  attrName,
MAKRti::DtTransportType  transport,
MAKRti::DtOrderType  order,
DtSpaceHandle  space,
DtSharingType  sharingType,
DtFomUpdateType  updateType,
const MAKRti::DtString &  updateCondition,
DtOwnershipType  ownership,
const MAKRti::DtString &  semantics 
)
virtual

Adds an attribute to an established class. Used when merging FOM targets.

virtual const char* DtObjectClassInfo::name ( ) const
virtual

Return class name, as in FOM.

virtual void DtObjectClassInfo::nameUpdateCheck ( )
protectedvirtual

Update indicators of root and MOM class.

virtual int DtObjectClassInfo::numAttributes ( ) const
virtual

Returns the number of attributes.

virtual int DtObjectClassInfo::numRemoteFederatesSubscribed ( )
virtual

Returns number of remote federates subscribed to this class.

bool DtObjectClassInfo::operator!= ( const DtObjectClassInfo other) const
DtObjectClassInfo& DtObjectClassInfo::operator= ( const DtObjectClassInfo orig)

Assignment operator (not implemented)

bool DtObjectClassInfo::operator== ( const DtObjectClassInfo other) const
virtual DtAttributeByHandleMap const& DtObjectClassInfo::ownAttrs ( ) const
virtual

Returns the set of attribute infos just from this class.

virtual void DtObjectClassInfo::print ( ) const
virtual

Print the contents.

virtual void DtObjectClassInfo::publish ( DtAttributeHandleSet const &  attributeList,
DtObjectMgr objMgr,
bool  isReplacement,
bool  isRepublish 
)
virtual

Publish and unpublish Publishing an empty list with replacement enabled results in unpublish from all class attributes.

virtual void DtObjectClassInfo::publishDirectedInteractions ( DtInteractionClassHandleStdSet const &  interactions)
virtual
virtual bool DtObjectClassInfo::published ( ) const
virtual

Return boolean: is class published?

virtual const DtAttributeHandleSet& DtObjectClassInfo::publishedAttrs ( ) const
virtual

Returns the set of published attributes.

virtual DtInteractionClassHandleStdSet const& DtObjectClassInfo::publishedDirectedInteractions ( ) const
virtual
virtual void DtObjectClassInfo::reIndexAttributesByName ( DtAttrInfo attrInfo)
protectedvirtual

The given attribute was just added with the next handle.

Adjust handles of own attributes so that they are indexed by name sort order.

virtual bool DtObjectClassInfo::relevant ( ) const
virtual

Returns true if the class is relevant: registered object could cause discovery at remote federate, false otherwise.

virtual bool DtObjectClassInfo::relevant ( DtAttributeHandle  ) const
virtual

Returns true if the attribute is relevant: attribute instance could cause discovery at remote federate, false otherwise.

virtual const DtAttributeHandleSet& DtObjectClassInfo::relevantAttrs ( ) const
virtual

Returns the set of relevant attributes: Attributes that could cause object discovery at a remote federate if they are published or become published.

The attributes must be remotely subscribed at this class or at a base class that is a discovery candidate.

virtual bool DtObjectClassInfo::remoteFederateIsSubscribed ( DtFederateHandle  fedHandle) const
virtual

Returns true if the remote federate is subscribed to this class.

virtual void DtObjectClassInfo::remotePassiveSubscribe ( const DtAttributeHandleSet attrs,
DtFederateHandle  fedHandle,
bool  replacement,
DtObjectMgr objMgr 
)
virtual

Process remote passive subscription to add pending send register for any objects that could be discovered by it Replacement forces updates to any relevance changes from active to passive.

virtual void DtObjectClassInfo::remoteSubscribe ( const DtAttributeHandleSet attrs,
DtFederateHandle  fedHandle,
bool  isReplacement,
DtObjectMgr objMgr 
)
virtual

Do bookkeeping associated with a remote federate subscription.

Calls update relevance.

virtual DtAttributeHandleSet const* DtObjectClassInfo::remoteSubscription ( DtFederateHandle  fedHandle) const
virtual

Returns remote federate's subscribed attributes.

virtual void DtObjectClassInfo::remoteUnsubscribeAttributes ( DtFederateHandle  fedHandle,
const DtAttributeHandleSet attrs,
DtObjectMgr objMgr 
)
virtual

Do bookkeeping associated with a remote federate unsubscription.

Calls update relevance.

virtual void DtObjectClassInfo::removeDirectedInteraction ( DtInteractionClassHandle  interactionClassHandle)
virtual

Get/Add/Remove directed interaction handles.

virtual void DtObjectClassInfo::removeSubscriptions ( DtFederateHandle  fedHandle,
DtObjectMgr objMgr,
bool  isResigning = false 
)
virtual

Remove all subscriptions from the given federate.

virtual bool DtObjectClassInfo::restore ( DtObjectClassPacket packet,
DtRtiSaveFile file 
)
virtual
virtual bool DtObjectClassInfo::sameAncestry ( const DtObjectClassInfo ) const
virtual

Test equality.

static bool DtObjectClassInfo::sameAttrs ( const std::vector< DtAttrInfo > &  left,
const std::vector< DtAttrInfo > &  right 
)
staticprotected

Test attributes for equality (of this class excluding inherited attributes)

virtual bool DtObjectClassInfo::sameObjectClass ( const DtObjectClassInfo classInfo) const
protectedvirtual

Test class for equality (including attributes)

virtual bool DtObjectClassInfo::save ( DtRtiSaveFile file)
virtual

save and restore

DtObjectClassInfo* DtObjectClassInfo::self ( ) const
protected
virtual const char* DtObjectClassInfo::semantics ( ) const
virtual

semantics access/mutate

virtual void DtObjectClassInfo::setBaseClass ( DtObjectClassInfo base)
virtual

Set base class (used when deep copying FOM target not when constructing target)

virtual void DtObjectClassInfo::setDestination ( MAKRti::DtInetAddr  addr,
MAKRti::DtInetAddr  devAddr,
bool  inclusive,
MAKRti::DtInetAddr  oldAddr,
MAKRti::DtInetAddr  oldDevAddr 
)
virtual
virtual void DtObjectClassInfo::setDiscoveredHandle ( DtObjectClassHandle  handleValue)
virtual
virtual void DtObjectClassInfo::setFomType ( MAKRti::DtFomType  type)
virtual

Set/Get the FOM type.

virtual void DtObjectClassInfo::setForcedDestinations ( DtBitMask const &  mask,
MAKRti::DtTime  delay 
)
virtual

Set a forced destination mask Temporarily set a forced destinations mask for given delay A negative time delay will force the destinations indefinitely.

virtual void DtObjectClassInfo::setHandle ( DtObjectClassHandle  handleValue)
virtual
virtual void DtObjectClassInfo::setIsUnknown ( bool  unknown)
virtual

Set the is unknown status.

virtual void DtObjectClassInfo::setSemantics ( const MAKRti::DtString &  sem)
virtual
virtual void DtObjectClassInfo::setSharing ( DtSharingType  share)
virtual
virtual void DtObjectClassInfo::setSubscribedRate ( float  rate,
const MAKRti::DtString &  name,
bool  inclusive 
)
virtual

Apply objects subscribed rate to attrInfo's.

virtual DtSharingType DtObjectClassInfo::sharing ( ) const
virtual

sharing type access/mutate

virtual const DtObjectClassByHandleMap& DtObjectClassInfo::subclasses ( ) const
virtual

Return list of subclasses.

virtual DtObjectClassByHandleMap& DtObjectClassInfo::subclasses ( )
virtual

Return list of subclasses.

virtual void DtObjectClassInfo::subscribe ( const DtAttributeHandleSet attributeList,
bool  isPassiveValue,
bool  isReplacement = true 
)
virtual

Subscribe and unsubscribe.

Parameters
isReplacement1.3 is replacement
virtual bool DtObjectClassInfo::subscribed ( ) const
virtual

Return boolean: is class subscribed?

virtual DtAttributeHandleSet const& DtObjectClassInfo::subscribedActiveAttrs ( ) const
virtual
virtual DtAttributeHandleSet const& DtObjectClassInfo::subscribedActiveAttrs ( DtHandle  regSetHandle) const
virtual
virtual DtAttributeHandleSet const& DtObjectClassInfo::subscribedAttrs ( ) const
virtual

Returns the set of DM subscribed attributes.

virtual const DtAttributeHandleSet& DtObjectClassInfo::subscribedAttrs ( DtHandle  regSetHandle) const
virtual

Returns all subscribed attributes if handle is the default region set Otherwise, just those subscribed attributes that match with the remote publication region.

virtual DtInteractionClassHandleStdSet const& DtObjectClassInfo::subscribedDirectedInteractions ( ) const
virtual
virtual const MAKRti::DtHashList& DtObjectClassInfo::subscribedFederates ( ) const
virtual

Returns a list of remote federate subscribed attributes.

virtual void DtObjectClassInfo::subscribeDirectedInteractions ( DtInteractionClassHandleStdSet const &  interactions,
bool  universal 
)
virtual
virtual DtAttributeHandleSet const& DtObjectClassInfo::subscribedPassiveAttrs ( ) const
virtual
static const char* DtObjectClassInfo::swapRootName ( const char *  name,
MAKRti::DtFomType  fomType,
MAKRti::DtString &  adjustedName 
)
static

Swap or add the root class name part of the given name to the this class' FOM type Return the adjusted name's c string.

virtual void DtObjectClassInfo::throwIfNotDefined ( const DtAttributeHandleSet attributeList,
const MAKRti::DtString &  message 
)
protectedvirtual

Throws AttributeNotDefined exception if any member of attrs is not a valid attribute handle.

virtual void DtObjectClassInfo::unpublishAttributes ( DtAttributeHandleSet const &  attributeList,
bool  implicitUnpublishPrivilegeToDelete,
DtObjectMgr objMgr 
)
virtual
virtual void DtObjectClassInfo::unpublishDirectedInteractions ( DtInteractionClassHandleStdSet const &  interactions)
virtual
virtual void DtObjectClassInfo::unsubscribeAttributes ( DtAttributeHandleSet const &  attributeList)
virtual
virtual void DtObjectClassInfo::unsubscribeClass ( )
virtual
virtual void DtObjectClassInfo::unsubscribeDirectedInteractions ( DtInteractionClassHandleStdSet const &  interactions)
virtual
virtual void DtObjectClassInfo::updateAvailableAttributeHandle ( DtAttributeHandle  attrHandle)
protectedvirtual

The given attribute handle is now occupied. Update the next available attribute handle.

virtual void DtObjectClassInfo::updateAvailableAttributeHandles ( const DtAttributeHandleStdSet handles)
protectedvirtual

The given attribute handle is now occupied. Update the next available attribute handle.

virtual void DtObjectClassInfo::updateRelevance ( const DtAttributeHandleSet attrs,
DtFederateHandle  fedHandle,
DtObjectMgr objMgr,
bool  isResigning = false 
)
protectedvirtual

Update the relevance field of this class and all subclasses, based on a particular remote and current subscriptions.

Add pending start/stop updates/registration and send register when appropriate.

Member Data Documentation

MAKRti::DtInetAddr DtObjectClassInfo::myAddr
protected
DtAttributeHandleSet DtObjectClassInfo::myAttributeHandleSet
protected
DtAttributeByHandleMap DtObjectClassInfo::myAttrsByHandle
protected
DtAttributeByNameMap DtObjectClassInfo::myAttrsByName
protected
DtAttributeHandle DtObjectClassInfo::myAvailableAttributeHandle
protected

The available attribute handle which is the maximum of this classes own attributes or any of its subclasses.

DtObjectClassInfo* DtObjectClassInfo::myBase
protected
MAKRti::DtClock DtObjectClassInfo::myClock
protected
MAKRti::DtInetAddr DtObjectClassInfo::myDevAddr
protected
DtInteractionClassHandleStdSet DtObjectClassInfo::myDirectedInteractions
protected
DtObjectClassHandle DtObjectClassInfo::myDiscoveredHandle
protected
bool DtObjectClassInfo::myExplicitPubPrivToDel
protected
bool DtObjectClassInfo::myExplicitUnpubPrivToDel
protected
MAKRti::DtFomType DtObjectClassInfo::myFomType
protected
DtBitMask* DtObjectClassInfo::myForceDestinationsMask
protected

Create this bit mask to temporarily force destinations after publish.

MAKRti::DtTime DtObjectClassInfo::myForceDestinationsTime
protected
DtObjectClassHandle DtObjectClassInfo::myHandle
protected
bool DtObjectClassInfo::myIsMom
protected
bool DtObjectClassInfo::myIsPassive
protected
bool DtObjectClassInfo::myIsRoot
protected
bool DtObjectClassInfo::myIsUnknown
protected

Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate.

MAKRti::DtString DtObjectClassInfo::myName
protected
DtAttributeByHandleMap DtObjectClassInfo::myOwnAttrsByHandle
protected
DtAttributeByNameMap DtObjectClassInfo::myOwnAttrsByName
protected
bool DtObjectClassInfo::myPublished
protected
DtInteractionClassHandleStdSet DtObjectClassInfo::myPublishedInteractions
protected
DtAttributeHandleSet DtObjectClassInfo::myPublishedSet
protected
bool DtObjectClassInfo::myRegsOn
protected

Have we most recently told the federate to turn on or off registration.

DtAttributeHandleSet DtObjectClassInfo::myRelevantSet
protected

Attributes that could cause object discovery at a remote federate if they are published or become published.

The attributes must be remotely subscribed at this class or at a base class that is a discovery candidate.

MAKRti::DtHashlist DtObjectClassInfo::myRemoteSubscriptions
protected
MAKRti::DtString DtObjectClassInfo::mySemantics
protected
DtSharingType DtObjectClassInfo::mySharing
protected
DtObjectClassByHandleMap DtObjectClassInfo::mySubclassByHandle
protected
DtObjectClassByNameMap DtObjectClassInfo::mySubclassByName
protected
bool DtObjectClassInfo::mySubscribed
protected
DtAttributeHandleSet DtObjectClassInfo::mySubscribedActiveSet
protected
DtInteractionClassHandleStdSet DtObjectClassInfo::mySubscribedInteractions
protected
DtInteractionClassHandleStdSet DtObjectClassInfo::mySubscribedInteractionsUniversal
protected
DtAttributeHandleSet DtObjectClassInfo::mySubscribedPassiveSet
protected
DtAttributeHandleSet DtObjectClassInfo::mySubscribedSet
protected
DtAttributeHandleStdSet DtObjectClassInfo::myUsedAttributeHandles
protected
const DtAttributeHandleSet DtObjectClassInfo::theEmptySet
staticprotected
const unsigned int DtObjectClassInfo::theMaxAttrs
staticprotected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)