MAK RTIspy API Documentation for HLA 1516
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
DtObjectClassInfo Class Reference
+ Collaboration diagram for DtObjectClassInfo:

Public Member Functions

 DtObjectClassInfo (const char *name, DtObjectClassInfo *base, DtObjectClassHandle handle, DtSharingType sharing, const MAKRti::DtString &semantics)
 Constructors.
 DtObjectClassInfo (const DtObjectClassInfo &orig)
virtual ~DtObjectClassInfo ()
 Destructor.
DtObjectClassInfooperator= (const DtObjectClassInfo &orig)
 Assignment operator (not implemented)
virtual void setFomType (MAKRti::DtFomType type)
 Set/Get the FOM type.
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.
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.
virtual const char * name () const
 Return class name, as in FOM.
virtual DtSharingType sharing () const
 sharing type access/mutate
virtual void setSharing (DtSharingType share)
virtual const char * semantics () const
 semantics access/mutate
virtual void setSemantics (const MAKRti::DtString &sem)
virtual bool isName (const char *name)
 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 bool isFullName (const char *name)
 Root name is required.
virtual DtObjectClassHandle handle () const
 Set/get class handle.
virtual void setHandle (DtObjectClassHandle handleValue)
virtual DtObjectClassHandle discoveredHandle () const
 Set/get discovered class handle This value is always 0 if isUnknown() is false.
virtual void setDiscoveredHandle (DtObjectClassHandle handleValue)
virtual DtObjectClassInfobaseClass () const
 Return pointer to base class descriptor.
virtual void setBaseClass (DtObjectClassInfo *base)
 Set base class (User should never need to set this)
virtual int isOfClass (DtObjectClassHandle handle) const
 Returns 1 if this class is handle or is a subclass of handle.
virtual MAKRti::DtList * subclasses ()
 Return list of subclasses.
virtual void addSubclass (DtObjectClassInfo *sub)
 Add a subclass (called during FED processing)
virtual DtAttrInfoattrByName (const char *theName)
 Get Attribute descriptor by name or handle.
virtual DtAttrInfoattrByHandle (const DtAttributeHandle theHandle)
virtual const DtAttrInfoattrByName (const char *theName) const
 const versions
virtual const DtAttrInfoattrByHandle (const DtAttributeHandle theHandle) const
virtual DtAttributeHandle attrHandle (const char *theName) const
 Get attribute handle from name.
virtual char * attrName (DtAttributeHandle theHandle) const
 Get attribute name from handle.
virtual MAKRti::DtTransportType attrTransport (DtAttributeHandle theHandle) const
 Get attribute transport type from handle.
virtual MAKRti::DtOrderType attrOrder (DtAttributeHandle theHandle) const
 Get attribute order from handle.
virtual DtSpaceHandle attrSpace (DtAttributeHandle theHandle) const
 Get attribute space from handle.
virtual DtAttrVector const & attrs () const
 Returns the set of attributes.
virtual int numAttributes () const
 Returns the number of attributes.
virtual const
DtAttributeHandleSet
allAttrs () const
 Returns the full set of attributes.
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.
virtual void unpublishAttributes (DtAttributeHandleSet const &attributeList, bool implicitUnpublishPrivilegeToDelete, DtObjectMgr *objMgr)
virtual bool published () const
 Return boolean: is class published?
virtual void subscribe (const DtAttributeHandleSet &attributeList, bool isPassiveValue, bool isReplacement=true)
 Subscribe and unsubscribe.
virtual void unsubscribeClass ()
virtual void unsubscribeAttributes (DtAttributeHandleSet const &attributeList)
virtual bool subscribed () const
 Return boolean: is class subscribed?
virtual bool isPassive () const
 Return boolean: is subscription passive?
virtual const bool isSubscribed (DtAttributeHandle attrHandle, DtRegionHandle regSetHandle) const
 Using default region handle indicates check for DM subscription only.
virtual DtAttributeHandleSet
const & 
subscribedAttrs () const
 Returns the set of DM subscribed attributes.
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.
virtual const
DtAttributeHandleSet
publishedAttrs () const
 Returns the set of published attributes.
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.
virtual void remoteSubscribe (const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle, bool isReplacement, DtObjectMgr *objMgr)
 Do bookkeeping associated with a remote federate subscription.
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.
virtual void remoteUnsubscribeAttributes (DtFederateHandle fedHandle, const DtAttributeHandleSet &attrs, DtObjectMgr *objMgr)
 Do bookkeeping associated with a remote federate unsubscription.
virtual void removeSubscriptions (DtFederateHandle fedHandle, DtObjectMgr *objMgr, bool isResigning=false)
 Remove all subscriptions from the given federate.
virtual int numRemoteFederatesSubscribed ()
 Returns number of remote federates subscribed to this class.
virtual bool remoteFederateIsSubscribed (DtFederateHandle fedHandle) const
 Returns true if the remote federate is subscribed to this class.
virtual DtAttributeHandleSet
const * 
remoteSubscription (DtFederateHandle fedHandle) const
 Returns remote federate's subscribed attributes.
virtual const MAKRti::DtHashList & subscribedFederates () const
 Returns a list of remote federate subscribed attributes.
virtual bool relevant () const
 Returns true if the class is relevant: registered object could cause discovery at remote federate, false otherwise.
virtual bool relevant (DtAttributeHandle) const
 Returns true if the attribute is relevant: attribute instance could cause discovery at remote federate, false otherwise.
virtual const MAKRti::DtInetAddr & destinationAddress () const
 Set/Get the destination to send to when using DM Filtering Inclusive sets recurse for all derived classes.
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.
virtual bool getForcedDestinations (DtBitMask &mask) const
 Get the forced destination mask if active Returns true if the forced destination mask is active.
virtual void setSubscribedRate (float rate, const MAKRti::DtString &name, bool inclusive)
 Apply objects subscribed rate to attrInfo's.
virtual float maxSubscribedRate ()
virtual const MAKRti::DtString & maxSubscribedRateName ()
virtual bool save (DtRtiSaveFile &file)
 save and restore
virtual bool restore (DtObjectClassPacket *packet, DtRtiSaveFile &file)
virtual void print () const
 Print the contents.
virtual bool sameAncestry (const DtObjectClassInfo *) const
 Test equality.
bool operator== (const DtObjectClassInfo &other) const
bool operator!= (const DtObjectClassInfo &other) const
bool isScaffolding () const
 Determines whether the class is a scaffolding class.
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.
void setIsUnknown (bool unknown)

Protected Member Functions

virtual void throwIfNotDefined (const DtAttributeHandleSet &attributeList)
 Throws AttributeNotDefined exception if any member of attrs is not a valid attribute handle.
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.
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)
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.
DtObjectClassInfoself () const
virtual DtAttrInfoaddAttrSorted (const char *attrName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSharingType sharingType, DtFomUpdateType updateType, const MAKRti::DtString &updateCondition, DtOwnershipType ownership, const MAKRti::DtString &semantics)
 Insert Attributes in sorted or unsorted (deprecated) order.
virtual DtAttrInfoaddAttrUnsorted (const char *attrName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSharingType sharingType, DtFomUpdateType updateType, const MAKRti::DtString &updateCondition, DtOwnershipType ownership, const MAKRti::DtString &semantics)
virtual DtAttrInfoaddAttrUnsorted (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)
 Insert Attributes in sorted or unsorted (deprecated) order.
virtual DtAttrInfoaddAttrSorted (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)

Static Protected Member Functions

static bool sameObjectClass (const DtObjectClassInfo &, const DtObjectClassInfo &)
 Test class for equality (including attributes)
static bool sameAttrs (const std::vector< DtAttrInfo > &, const std::vector< DtAttrInfo > &)
 Test attributes for equality.

Protected Attributes

MAKRti::DtString myName
DtSharingType mySharing
MAKRti::DtString mySemantics
DtObjectClassHandle myHandle
DtObjectClassHandle myDiscoveredHandle
MAKRti::DtFomType myFomType
bool mySubscribed
bool myPublished
bool myIsPassive
bool myExplicitPubPrivToDel
bool myExplicitUnpubPrivToDel
DtObjectClassInfomyBase
MAKRti::DtList mySubclasses
MAKRti::DtHashlist myRemoteSubscriptions
bool myRegsOn
 Have we most recently told the federate to turn on or off registration.
DtAttrVector myAttrs
int myFirstAttribute
DtAttributeHandleSet myAttrSet
DtAttributeHandleSet myPublishedSet
DtAttributeHandleSet mySubscribedSet
DtAttributeHandleSet mySubscribedActiveSet
DtAttributeHandleSet mySubscribedPassiveSet
DtAttributeHandleSet myRelevantSet
 Attributes that could cause object discovery at a remote federate if they are published or become published.
MAKRti::DtInetAddr myAddr
MAKRti::DtInetAddr myDevAddr
DtBitMaskmyForceDestinationsMask
 Create this bit mask to temporarily force destinations after publish.
MAKRti::DtTime myForceDestinationsTime
MAKRti::DtClock myClock
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.

Static Protected Attributes

static const DtAttributeHandleSet theEmptySet
static const unsigned int theMaxAttrs = DtMaxAttributesPerClass

Constructor & Destructor Documentation

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

Member Function Documentation

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
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.

References addAttrSorted(), addAttrUnsorted(), attrByName(), attrName(), DtToWString(), fomType(), myAttrs, DtAttrInfo::nameIsPrivilegeToDelete(), and theMaxAttrs.

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

Insert Attributes in sorted or unsorted (deprecated) order.

References DtAttributeHandleSet::add(), fomType(), myAttrs, myAttrSet, myFirstAttribute, and name().

Referenced by addAttr().

DtAttrInfo * DtObjectClassInfo::addAttrSorted ( 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 
)
protectedvirtual
DtAttrInfo * DtObjectClassInfo::addAttrUnsorted ( const char *  attrName,
MAKRti::DtTransportType  transport,
MAKRti::DtOrderType  order,
DtSharingType  sharingType,
DtFomUpdateType  updateType,
const MAKRti::DtString &  updateCondition,
DtOwnershipType  ownership,
const MAKRti::DtString &  semantics 
)
protectedvirtual
DtAttrInfo * DtObjectClassInfo::addAttrUnsorted ( 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 
)
protectedvirtual

Insert Attributes in sorted or unsorted (deprecated) order.

References DtAttributeHandleSet::add(), fomType(), myAttrs, myAttrSet, and DtAttrInfo::setTransport().

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.

References attrs(), myRemoteSubscriptions, and DtAttributeHandleSet::setUnion().

Referenced by remoteSubscribe(), and restore().

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

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

References DtAttributeHandleSet::add(), and myRemoteSubscriptions.

void DtObjectClassInfo::addSubclass ( DtObjectClassInfo sub)
virtual

Add a subclass (called during FED processing)

References mySubclasses.

Referenced by DtObjectClassInfo(), and setBaseClass().

const DtAttributeHandleSet & DtObjectClassInfo::allAttrs ( ) const
virtual
DtAttrInfo * DtObjectClassInfo::attrByHandle ( const DtAttributeHandle  theHandle)
virtual
const DtAttrInfo * DtObjectClassInfo::attrByHandle ( const DtAttributeHandle  theHandle) const
virtual
DtAttrInfo * DtObjectClassInfo::attrByName ( const char *  theName)
virtual
const DtAttrInfo * DtObjectClassInfo::attrByName ( const char *  theName) const
virtual

const versions

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

Get attribute handle from name.

References attrByName(), and DtAttrInfo::handle().

Referenced by DtFomClassMgr::attrHandle().

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

Get attribute name from handle.

References attrByHandle(), and DtAttrInfo::name().

Referenced by addAttr(), DtFomClassMgr::attrName(), and DtAttributeHandleSet::print().

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

Get attribute order from handle.

References attrByHandle(), and DtAttrInfo::order().

Referenced by DtRtiObject::DtRtiObject().

DtAttrVector const & DtObjectClassInfo::attrs ( ) const
virtual
DtSpaceHandle DtObjectClassInfo::attrSpace ( DtAttributeHandle  theHandle) const
virtual

Get attribute space from handle.

References attrByHandle(), DtDefaultSpaceHandle, and DtAttrInfo::space().

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

Get attribute transport type from handle.

References attrByHandle(), and DtAttrInfo::transport().

Referenced by DtRtiObject::DtRtiObject(), and DtObjectMgr::sendNotDiscoveredMsgForSmartForwarding().

DtObjectClassInfo * DtObjectClassInfo::baseClass ( ) const
virtual
void DtObjectClassInfo::deleteRemoteSubscription ( DtFederateHandle  fedHandle,
DtAttributeHandleSet const &  attrs 
)
protectedvirtual
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.

References myAddr.

Referenced by DtObjectMgr::addClassMulticast(), DtFomClassMgr::initDMFilteringParameters(), DtObjectMgr::removeClassMulticast(), and DtObjectMgr::sendUpdateMessage().

const MAKRti::DtInetAddr & DtObjectClassInfo::destinationDevice ( ) const
virtual
DtObjectClassHandle DtObjectClassInfo::discoveredHandle ( ) const
virtual

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

References myDiscoveredHandle.

MAKRti::DtFomType DtObjectClassInfo::fomType ( ) const
virtual
bool DtObjectClassInfo::getForcedDestinations ( DtBitMask mask) const
virtual

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

References myClock, myForceDestinationsMask, myForceDestinationsTime, and NULL.

Referenced by DtRtiObject::getDestinations().

DtObjectClassHandle DtObjectClassInfo::handle ( ) const
virtual
bool DtObjectClassInfo::isFullName ( const char *  name)
virtual

Root name is required.

References fomType(), myName, and name().

Referenced by isName().

bool DtObjectClassInfo::isName ( const char *  name)
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.

References fomType(), isFullName(), and name().

Referenced by attrByName().

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

Return boolean: is subscription passive?

References myIsPassive.

bool DtObjectClassInfo::isScaffolding ( ) const

Determines whether the class is a scaffolding class.

References attrs(), and myFirstAttribute.

Referenced by DtFomClassMgr::mergeObjectInfo().

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?

References attrByHandle(), DtAttributeHandleSet::isMember(), DtAttrInfo::pasRegionSet(), DtAttrInfo::subRegionSet(), and subscribedAttrs().

Referenced by DtUpdateMsg::fillFromNetAttrs(), DtUpdateMsg::fillFromNetBigAttrs(), and DtObjectMgr::processNewObj().

bool DtObjectClassInfo::isUnknown ( ) const
float DtObjectClassInfo::maxSubscribedRate ( )
virtual
const MAKRti::DtString & DtObjectClassInfo::maxSubscribedRateName ( )
virtual

References attrs(), and myAttrs.

const char * DtObjectClassInfo::name ( ) const
virtual
int DtObjectClassInfo::numAttributes ( ) const
virtual
int DtObjectClassInfo::numRemoteFederatesSubscribed ( )
virtual

Returns number of remote federates subscribed to this class.

References myRemoteSubscriptions.

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

References sameObjectClass().

DtObjectClassInfo& DtObjectClassInfo::operator= ( const DtObjectClassInfo orig)

Assignment operator (not implemented)

bool DtObjectClassInfo::operator== ( const DtObjectClassInfo other) const

References sameObjectClass().

void DtObjectClassInfo::print ( ) const
virtual

Print the contents.

References attrByHandle(), myAttrs, myBase, myHandle, and myName.

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

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

References myRelevantSet, and DtAttributeHandleSet::size().

Referenced by restore(), and updateRelevance().

bool DtObjectClassInfo::relevant ( DtAttributeHandle  hand) const
virtual

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

References attrByHandle(), and DtAttrInfo::relevant().

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.

References myRelevantSet.

Referenced by DtObjectMgr::acquireAttrs(), DtObjectMgr::processNotifyAcquire(), publish(), and updateRelevance().

bool DtObjectClassInfo::remoteFederateIsSubscribed ( DtFederateHandle  fedHandle) const
virtual

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

References myRemoteSubscriptions, and NULL.

Referenced by remotePassiveSubscribe(), and updateRelevance().

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.

References DtObjectMgr::addPendingRegister(), DtAttributeHandleSet::getHandle(), handle(), myAttrs, mySubclasses, NULL, published(), remoteFederateIsSubscribed(), remotePassiveSubscribe(), remoteSubscribe(), remoteUnsubscribeAttributes(), and DtAttributeHandleSet::size().

Referenced by DtObjectMgr::processSub(), and remotePassiveSubscribe().

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

Do bookkeeping associated with a remote federate unsubscription.

Calls update relevance.

References remoteSubscribe(), remoteSubscription(), and DtAttributeHandleSet::removeSetIntersection().

Referenced by DtObjectMgr::processUnsub(), and remotePassiveSubscribe().

void DtObjectClassInfo::removeSubscriptions ( DtFederateHandle  fedHandle,
DtObjectMgr objMgr,
bool  isResigning = false 
)
virtual
bool DtObjectClassInfo::restore ( DtObjectClassPacket packet,
DtRtiSaveFile file 
)
virtual
bool DtObjectClassInfo::sameAncestry ( const DtObjectClassInfo comp) const
virtual

Test equality.

References baseClass(), and name().

Referenced by DtFomClassMgr::mergeObjectInfo().

bool DtObjectClassInfo::sameAttrs ( const std::vector< DtAttrInfo > &  first,
const std::vector< DtAttrInfo > &  second 
)
staticprotected

Test attributes for equality.

References fomType(), name(), and DtAttrInfo::nameIsPrivilegeToDelete().

Referenced by sameObjectClass().

bool DtObjectClassInfo::sameObjectClass ( const DtObjectClassInfo first,
const DtObjectClassInfo secondClass 
)
staticprotected

Test class for equality (including attributes)

References attrs(), name(), and sameAttrs().

Referenced by operator!=(), and operator==().

bool DtObjectClassInfo::save ( DtRtiSaveFile file)
virtual
DtObjectClassInfo * DtObjectClassInfo::self ( ) const
protected
const char * DtObjectClassInfo::semantics ( ) const
virtual

semantics access/mutate

References mySemantics.

Referenced by DtFomClassMgr::mergeObjectInfo().

void DtObjectClassInfo::setBaseClass ( DtObjectClassInfo base)
virtual

Set base class (User should never need to set this)

References addSubclass(), and myBase.

void DtObjectClassInfo::setDestination ( MAKRti::DtInetAddr  addr,
MAKRti::DtInetAddr  devAddr,
bool  inclusive,
MAKRti::DtInetAddr  oldAddr,
MAKRti::DtInetAddr  oldDevAddr 
)
virtual
void DtObjectClassInfo::setDiscoveredHandle ( DtObjectClassHandle  handleValue)
virtual
void DtObjectClassInfo::setFomType ( MAKRti::DtFomType  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.

References myClock, myForceDestinationsMask, and myForceDestinationsTime.

Referenced by publish().

void DtObjectClassInfo::setHandle ( DtObjectClassHandle  handleValue)
virtual

References myHandle.

void DtObjectClassInfo::setIsUnknown ( bool  unknown)
void DtObjectClassInfo::setSemantics ( const MAKRti::DtString &  sem)
virtual

References mySemantics.

void DtObjectClassInfo::setSharing ( DtSharingType  share)
virtual

References mySharing.

void DtObjectClassInfo::setSubscribedRate ( float  rate,
const MAKRti::DtString &  name,
bool  inclusive 
)
virtual

Apply objects subscribed rate to attrInfo's.

References attrs(), myAttrs, and mySubclasses.

Referenced by DtFomClassMgr::initUpdateRates().

DtSharingType DtObjectClassInfo::sharing ( ) const
virtual

sharing type access/mutate

References mySharing.

Referenced by DtFomClassMgr::addClassHdlForUnknownClass(), and DtFomClassMgr::mergeObjectInfo().

MAKRti::DtList * DtObjectClassInfo::subclasses ( )
virtual
void DtObjectClassInfo::subscribe ( const DtAttributeHandleSet attributeList,
bool  isPassiveValue,
bool  isReplacement = true 
)
virtual
bool DtObjectClassInfo::subscribed ( ) const
virtual
DtAttributeHandleSet const & DtObjectClassInfo::subscribedActiveAttrs ( ) const
virtual
const DtAttributeHandleSet & DtObjectClassInfo::subscribedAttrs ( ) const
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.

References DtDefaultRegionSetHandle, mySubscribedSet, and theEmptySet.

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

Returns a list of remote federate subscribed attributes.

References myRemoteSubscriptions.

Referenced by DtObjectMgr::collectRemoteSubscriptions().

DtAttributeHandleSet const & DtObjectClassInfo::subscribedPassiveAttrs ( ) const
virtual
void DtObjectClassInfo::throwIfNotDefined ( const DtAttributeHandleSet attributeList)
protectedvirtual

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

References DtAttributeHandleSet::getHandle(), myAttrs, and DtAttributeHandleSet::size().

Referenced by publish(), subscribe(), unpublishAttributes(), and unsubscribeAttributes().

void DtObjectClassInfo::unpublishAttributes ( DtAttributeHandleSet const &  attributeList,
bool  implicitUnpublishPrivilegeToDelete,
DtObjectMgr objMgr 
)
virtual
void DtObjectClassInfo::unsubscribeAttributes ( DtAttributeHandleSet const &  attributeList)
virtual
void DtObjectClassInfo::unsubscribeClass ( )
virtual

References subscribe().

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

Member Data Documentation

MAKRti::DtInetAddr DtObjectClassInfo::myAddr
protected
DtAttrVector DtObjectClassInfo::myAttrs
protected
DtAttributeHandleSet DtObjectClassInfo::myAttrSet
protected
DtObjectClassInfo* DtObjectClassInfo::myBase
protected

Referenced by baseClass(), print(), and setBaseClass().

MAKRti::DtClock DtObjectClassInfo::myClock
protected
MAKRti::DtInetAddr DtObjectClassInfo::myDevAddr
protected
DtObjectClassHandle DtObjectClassInfo::myDiscoveredHandle
protected
bool DtObjectClassInfo::myExplicitPubPrivToDel
protected
bool DtObjectClassInfo::myExplicitUnpubPrivToDel
protected
int DtObjectClassInfo::myFirstAttribute
protected
MAKRti::DtFomType DtObjectClassInfo::myFomType
protected

Referenced by fomType(), and setFomType().

DtBitMask* DtObjectClassInfo::myForceDestinationsMask
protected

Create this bit mask to temporarily force destinations after publish.

Referenced by DtObjectClassInfo(), getForcedDestinations(), setForcedDestinations(), and ~DtObjectClassInfo().

MAKRti::DtTime DtObjectClassInfo::myForceDestinationsTime
protected
DtObjectClassHandle DtObjectClassInfo::myHandle
protected

Referenced by handle(), print(), restore(), save(), and setHandle().

bool DtObjectClassInfo::myIsPassive
protected

Referenced by isPassive(), restore(), save(), and subscribe().

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.

Referenced by isUnknown(), and setIsUnknown().

MAKRti::DtString DtObjectClassInfo::myName
protected

Referenced by isFullName(), name(), and print().

bool DtObjectClassInfo::myPublished
protected

Referenced by publish(), published(), restore(), and save().

DtAttributeHandleSet DtObjectClassInfo::myPublishedSet
protected
bool DtObjectClassInfo::myRegsOn
protected

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

Referenced by publish(), restore(), save(), and updateRelevance().

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.

Referenced by relevant(), relevantAttrs(), restore(), save(), and updateRelevance().

MAKRti::DtHashlist DtObjectClassInfo::myRemoteSubscriptions
protected
MAKRti::DtString DtObjectClassInfo::mySemantics
protected

Referenced by semantics(), and setSemantics().

DtSharingType DtObjectClassInfo::mySharing
protected

Referenced by setSharing(), and sharing().

MAKRti::DtList DtObjectClassInfo::mySubclasses
protected
bool DtObjectClassInfo::mySubscribed
protected

Referenced by restore(), save(), subscribe(), and subscribed().

DtAttributeHandleSet DtObjectClassInfo::mySubscribedActiveSet
protected
DtAttributeHandleSet DtObjectClassInfo::mySubscribedPassiveSet
protected
DtAttributeHandleSet DtObjectClassInfo::mySubscribedSet
protected
const DtAttributeHandleSet DtObjectClassInfo::theEmptySet
staticprotected

Referenced by subscribedAttrs().

const unsigned int DtObjectClassInfo::theMaxAttrs = DtMaxAttributesPerClass
staticprotected

Referenced by addAttr().


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

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)