MAK RTIspy API Documentation for HLA 1.3
 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 Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtObjectMgr Class Reference

The object manager class processes the object management services. More...

+ Collaboration diagram for DtObjectMgr:

Public Types

typedef DtObjectMgr *(* DtObjectMgrCreator )(DtFederateMgr *fedMgr)
 Object manager creator type. More...
 
typedef std::map
< DtObjectInstanceHandle,
DtAttributeHandleSet
DtPendingRequestAttrMap
 Map of requested attributes. More...
 

Public Member Functions

virtual ~DtObjectMgr ()
 Destructor. More...
 
virtual void postJoinInit ()
 Post join processing. All managers shall have been created and initialized. More...
 
virtual bool isPostJoined () const
 Return bool: Was the post join initialization perfomerd? More...
 
DtFederateMgrfederateMgr ()
 Access to the federate manager. More...
 
DtFederateMgrfederateMgr () const
 
DtConnectionMgrconnectMgr ()
 Returns pointer to network connection mgr. More...
 
DtConnectionMgrconnectMgr () const
 
virtual bool useHlaNamePrefix ()
 Get switch to use HLA prefix for object names. More...
 
virtual DtObjectInstanceHandle objectHandle (const char *name)
 Get objectHandle from name. More...
 
virtual const char * objectName (DtObjectInstanceHandle handle)
 Get object name from handle. More...
 
virtual DtObjectClassHandle objectClass (DtObjectInstanceHandle handle)
 Get an object's class. More...
 
virtual int subscribed (DtObjectClassHandle handle)
 Returns 1 if subscribed to the class, 0 otherwise. More...
 
virtual int published (DtObjectClassHandle handle)
 Returns 1 if published the class, 0 otherwise. More...
 
virtual void publish (DtObjectClassHandle theObject, const DtAttributeHandleSet &attributeList)
 Publish specified class attributes. More...
 
virtual void unpublishClass (DtObjectClassHandle theObject)
 Unpublishes all attributes but privilege to delete is implicit. More...
 
virtual void unpublishAttributes (DtObjectClassHandle theClass, DtAttributeHandleSet const &attributeList)
 Explicit unpublish of specified attributes. More...
 
virtual void unpublishAttributes (DtObjectClassInfo &classDesc, DtAttributeHandleSet const &attributeList, bool implicitlyUnpublishPrivilegeToDelete)
 Explicit unpublish of specified attributes Except privilege to delete is implicit if so designated. More...
 
virtual void checkDirectedInteractions (DtObjectClassInfo const *classDesc, DtInteractionClassHandleStdSet const &interactionClassHandles)
 Check that given object class is defined and that the given interaction classes are directed interactions of the object class Throws exception if not. More...
 
virtual void publishDirectedInteractions (DtObjectClassHandle objectClassHandle, DtInteractionClassHandleStdSet const &interactionClassHandles)
 Publish the directed interactions for the given object class. More...
 
virtual void unpublishDirectedInteractions (DtObjectClassHandle objectClass)
 Unpublish the directed interactions for the given object class. More...
 
virtual void unpublishDirectedInteractions (DtObjectClassHandle objectClass, DtInteractionClassHandleStdSet const &interactions)
 Unpublish the directed interactions for the given object class. More...
 
virtual void subscribe (DtObjectClassHandle theClass, const DtAttributeHandleSet &attributeList, bool active, MAKRti::DtString updateRateDesignator)
 Subscribe specified class attributes. More...
 
virtual void unsubscribeClass (DtObjectClassHandle theClass)
 Unsubscribe from all attributes of specified class. More...
 
virtual void unsubscribeAttributes (DtObjectClassHandle theClass, DtAttributeHandleSet const &attributeList)
 Unsubscribe specified class attributes. More...
 
virtual void unsubscribeAttributes (DtObjectClassInfo &classDesc, DtAttributeHandleSet const &attributeList)
 Unsubscribe specified class attributes. More...
 
virtual void subscribeDirectedInteractions (DtObjectClassHandle objectClassHandle, DtInteractionClassHandleStdSet const &interactionClassHandles, bool universally)
 Subscribe the directed interactions for the given object class, strictly directed or universally as indicated. More...
 
virtual void unsubscribeDirectedInteractions (DtObjectClassHandle objectClass)
 Unsubscribe the directed interactions for the given object class. More...
 
virtual void unsubscribeDirectedInteractions (DtObjectClassHandle objectClass, DtInteractionClassHandleStdSet const &interactions)
 Unsubscribe the directed interactions for the given object class. More...
 
virtual void reserveMultipleObjectInstanceName (std::set< std::wstring > const &theObjectInstanceNames)
 Reserve multiple object instance names. More...
 
virtual void reserveObjectInstanceName (std::string const &theObjectInstanceName)
 Reserve object instance name. More...
 
virtual DtObjectInstanceHandle registerObj (DtObjectClassHandle theClass, std::string const &theObjectInstanceName)
 Register a locally simulated object. More...
 
virtual void releaseObjectInstanceName (std::string const &theObjectInstanceName) throw (RTI_API::ObjectInstanceNameNotReserved)
 Release the object instance name. More...
 
virtual void releaseMultipleObjectInstanceNames (std::set< std::wstring > const &theObjectInstanceNames) throw (RTI_API::ObjectInstanceNameNotReserved)
 
virtual void queryAttributeTransportationType (DtObjectInstanceHandle theObject, DtAttributeHandle theAttribute)
 
virtual void queryInteractionTransportationType (DtFederateHandle theFederate, DtInteractionClassHandle theInteraction)
 
virtual void releaseDenied (DtObjectInstanceHandle objectHandle, const DtAttributeHandleSet &attrs, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 
virtual double getUpdateRateForAttribute (DtObjectInstanceHandle objHandle, DtAttributeHandle attrHandle)
 
virtual DtObjectInstanceHandle registerObj (DtObjectClassHandle theClass)
 Register a locally simulated object. More...
 
bool holdsPrivilegeToDelete (const DtObjectInstanceHandle &id)
 
virtual unsigned long deleteObj (DtObjectInstanceHandle objectID, DtRtiApiTime const *theTime, DtRtiApiTagConstRef theTag)
 Delete a locally simulated object Return retraction handle serial number. More...
 
virtual void localDeleteObj (DtObjectInstanceHandle obj)
 Implements the localDeleteObjectInstance service. More...
 
virtual void requestObjectUpdate (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 Request an attribute value update for an object. More...
 
virtual void requestClassUpdate (DtObjectClassHandle theClass, const DtAttributeHandleSet &theAttributes, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag, DtHandle regionSetHandle=DtDefaultRegionSetHandle)
 Request an attribute value update for a class of objects. More...
 
virtual unsigned long sendUpdate (DtObjectInstanceHandle theObject, const DtAhvps &theAttrs, DtRtiApiTime const *theTime, DtRtiApiTagConstRef tag)
 Implements update attribute values Checks attributes definition and ownership Return retraction handle serial number. More...
 
virtual unsigned long sendUpdate (DtRtiObject *theObject, const DtAhvps &theAttrs, DtRtiApiTime const *theTime, DtRtiApiTagConstRef tag)
 Generate and transmit update attribute value messages Return retraction handle serial number. More...
 
virtual void acquireAttrs (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &desiredAttributes, bool onlyIfAvail, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 Process an attribute acquisition. More...
 
virtual void cancelAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs)
 Cancel an attribute acquisition. More...
 
virtual void divestOwnership (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtDivestCondition condition, DtAttributeHandleSet &divestedSet, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 Process a attribute divestiture. More...
 
virtual void confirmDivestiture (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtRtiApiTagConstRef theUserSuppliedTag)
 Confirm an attribute divestiture. More...
 
virtual void cancelDivest (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs)
 Cancel an attribute divestiture. More...
 
virtual DtAttributeHandleSetreleaseResponse (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs)
 Respond to an attribute acquisition. More...
 
virtual void removeFromAllLists (DtRtiObject *object)
 Remove an object from all lists. More...
 
virtual bool isAcquistionPending ()
 Return true if ownership acquistion is pending for remote attrs. More...
 
virtual int evaluateSubscription (DtRtiMsg const &msg)
 Return bool: is message an update or delete that can generate a reflect or remove callback? Determine if message is update or delete and if so, is it subscribed e.g., would be delivered as callback if processed Returns -1 if not an update/delete, 0 if no delivery expected, 1 if delivery expected. More...
 
virtual void autoProvideAttrValueUpdate ()
 Invoke provide for all owned attributes. More...
 
virtual void sendRegister (DtRtiObject *obj)
 Sends register information, if DDM is active then this information could include region and region association information. More...
 
virtual void resendRegister (DtRtiObject *obj, DtBitMask *sendMask=0)
 Re-sends register information, if DDM is active then this information could include region and region association information. More...
 
virtual void resendMultiRegister (DtObjectClassHandle classHandle)
 Re-sends register information for all objects of a specific class if DDM is active then this information could include region and region association information. More...
 
virtual void sendRequestMsg (DtRequestType type, unsigned long idOrClass, const DtAttributeHandleSet &theSet, DtRtiApiTagConstRef tag, bool anonymous, DtHandle regionSetHandle=DtRtiMsg::theDefaultRegionSetHandle, DtFederateHandle fedHandle=0)
 Send a request message for the attributes by object or class. More...
 
virtual void addPendingStartUpdates (DtObjectInstanceHandle obj, const DtAttributeHandleSet &attributeList)
 Add pending startUpdates that will get called during the next tick. More...
 
virtual void addPendingStopUpdates (DtObjectClassHandle theClass, const DtAttributeHandleSet &attributeList)
 Add pending stopUpdates that will get called during the next tick. More...
 
virtual void addPendingStartReg (DtObjectClassHandle theClass)
 Add pending startRegistration that will get processed during the next tick. More...
 
virtual void addPendingStopReg (DtObjectClassHandle theClass)
 Add pending stopRegistration that will get processed during the next tick. More...
 
virtual void addPendingRegister (DtObjectClassHandle theClass, DtFederateHandle fedHandle=0)
 Add pending Register that will get processed during the next tick. More...
 
virtual void addPendingSubscription (DtObjectClassHandle theClass, DtFederateHandle fedHandle=0)
 Add pending subscription class retransmissions that will get processed during next tick. More...
 
virtual void addPendingRegisterForObject (DtObjectInstanceHandle objHandle)
 Add pending Register for the given object that will get processed during next tick. More...
 
virtual void addPendingRemoval (DtObjectInstanceHandle id)
 Add pending object removals that will get processed during the next tick. More...
 
virtual void addPendingRequestAttrs (DtObjectInstanceHandle objectHandle, DtAttributeHandleSet attributes)
 Add pending request attribute value that will get processed during the next tick. More...
 
virtual void addPendingDivestNotification (DtObjectInstanceHandle objectHandle, DtAttributeHandleSet attributes)
 Add pending divest notification that will get processed during the next tick. More...
 
virtual void addPendingDiscovery (DtObjectInstanceHandle objectHandle, DtObjectClassHandle classHandle, DtFederateHandle federate, bool isNonDiscovery)
 Add pending discovery/non-discovery. More...
 
virtual void processResign (const DtResignMsg &msg)
 Process the resign message. More...
 
virtual void preTick ()
 Called before processing messages in RTI ambassador tick / evoke callbacks. More...
 
virtual void postTick ()
 Called after processing messages in RTI ambassador tick / evoke callbacks. More...
 
virtual void turnUpdatesOn (DtRtiObject const &object, DtAttributeHandleSet const &oldOnSet)
 Turn updates on for any attribute now on but it is not in old on set. More...
 
virtual void turnUpdatesOff (DtRtiObject const &object, DtAttributeHandleSet const &oldOnSet)
 Turn updates off for any attribute now off but it is in old on set. More...
 
virtual DtObjectInstanceHandle uniqueHandle ()
 Returns an ObjectHandle that is unique across the federation. More...
 
virtual void getUniqueName (DtObjectInstanceHandle handle, MAKRti::DtString &objectName)
 Use the supplied object handle to construct a unique object name and assign a unique name to the supplied string. More...
 
virtual bool objectWasCreatedByFederate (DtRtiObject const &obj, DtFederateHandle const &fedHandle)
 Query the object manager to determine whether the specified federate was the initial creator of the specified object. More...
 
virtual DtRtiObjectprocessNewObj (DtObjectInstanceHandle objHand, DtObjectClassHandle realClass, const char *name, const DtAttributeHandleSet &inSet, DtHandle regSetHandle, DtFederateHandle sourceFederate)
 Assumes we have not yet discovered objHand. More...
 
virtual DtObjectClassInfofirstSubscribedClass (DtObjectClassInfo *classDesc, DtHandle regSetHandle)
 Returns most specific superclass of class, to which we are subscribed. More...
 
virtual int numObjectsOwned ()
 return the number of owned objects More...
 
virtual void setDefaultClassAttributeTransportationType (DtObjectClassHandle theObjectClass, const DtAttributeHandleSet &theAttributes, MAKRti::DtTransportType theType)
 Set the default transport type of the class attributes. More...
 
virtual void setAttributeTransportType (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, MAKRti::DtTransportType theType)
 Set the transport type of the attribute instances. More...
 
virtual void setDefaultClassAttributeOrderType (DtObjectClassHandle theObjectClass, const DtAttributeHandleSet &theAttributes, MAKRti::DtOrderType theType)
 Set the default transport type of the class attributes. More...
 
virtual void setAttributeOrderType (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, MAKRti::DtOrderType theType)
 Set the order type of the attribute instances. More...
 
virtual bool save (DtRtiSaveFile &file)
 DDM. More...
 
virtual void prepareToRestore ()
 Prepare the state information to be restored (i.e., clear out existing data). More...
 
virtual bool restore (DtRtiSaveFile &file)
 Restore the state information from the given file. More...
 
virtual void sendNotDiscoveredMsgForSmartForwarding (DtObjectInstanceHandle handle, const DtObjectClassInfo &classInfo, DtFederateHandle federate, const DtAttributeHandleSet *attributes=0)
 Send a message removing this federate from remote federate's smart forwarding list for the given object. More...
 
virtual void sendNotDiscoveredMsgForSmartForwarding (DtObjectInstanceHandle handle, const DtObjectClassInfo &classInfo, DtFederateHandle federate, const DtAhvps *attributes)
 
virtual void ignoreNextUpdate (DtObjectInstanceHandle hdl)
 Tells the object manager to ignore the next update for the given object. More...
 
DtRIDParametersparams ()
 Return pointer to RID parameters. More...
 
DtRIDParametersparams () const
 Return pointer to RID parameters. More...
 
DtFomClassMgrfom ()
 Return fom pointer. More...
 
DtFomClassMgrfom () const
 Return fom pointer. More...
 
virtual void addAllObj (DtRtiObject *obj)
 Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. More...
 
virtual void removeAllObj (DtObjectInstanceHandle obj)
 Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. More...
 
virtual const DtRtiObjectMapallObjects () const
 Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. More...
 
virtual DtRtiObjectallObj (DtObjectInstanceHandle id)
 Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. More...
 
virtual DtRtiObjectallObj (const char *name)
 Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. More...
 
virtual void addKnownObj (DtRtiObject *obj)
 Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. More...
 
virtual void removeKnownObj (DtObjectInstanceHandle obj)
 Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. More...
 
virtual const DtRtiObjectMapknownObjects () const
 Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. More...
 
virtual DtRtiObjectknownObj (DtObjectInstanceHandle id)
 Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. More...
 
virtual const DtRtiObjectknownObj (DtObjectInstanceHandle id) const
 Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. More...
 
virtual DtRtiObjectknownObj (const char *name)
 Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. More...
 
virtual const DtRtiObjectknownObj (const char *name) const
 Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. More...
 
virtual void addOwnedObj (DtRtiObject *obj)
 Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set. More...
 
virtual void removeOwnedObj (DtObjectInstanceHandle obj)
 Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set. More...
 
virtual const DtRtiObjectMapownedObjects () const
 Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set. More...
 
virtual DtRtiObjectownedObj (DtObjectInstanceHandle id)
 Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set. More...
 
virtual DtRtiObjectownedObj (const char *name)
 Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set. More...
 
virtual void addLrcManagedObj (DtRtiObject *obj)
 Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set. More...
 
virtual void removeLrcManagedObj (DtObjectInstanceHandle obj)
 Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set. More...
 
virtual const DtRtiObjectMaplrcManagedObjects () const
 Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set. More...
 
virtual DtRtiObjectlrcManagedObj (DtObjectInstanceHandle id)
 Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set. More...
 
virtual DtRtiObjectlrcManagedObj (const char *name)
 Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set. More...
 
virtual void queryOwnership (DtObjectInstanceHandle obj, DtAttributeHandle attr)
 Implements the queryAttributeOwnership service. More...
 
void testResign (RTI_API::ResignAction const &theAction)
 Called when resigning from a federation to test conditions and to delete owned objects. More...
 
void prepareToResign (RTI_API::ResignAction const &theAction)
 Called when resigning from a federation to test conditions and to delete owned objects. More...
 
virtual void setRestoreInProgress (bool isRestore)
 Note: The advisory switches are disabled by a restore in progress. More...
 
virtual bool restoreInProgress () const
 Note: The advisory switches are disabled by a restore in progress. More...
 
virtual void enableClassRelevanceSwitch ()
 Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant. More...
 
virtual void disableClassRelevanceSwitch ()
 Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant. More...
 
virtual void setClassRelevanceSwitch (bool enableSwitch)
 Set/Get value of classRelevanceAdvisorySwitch. More...
 
virtual bool classRelevanceSwitch () const
 Set/Get value of classRelevanceAdvisorySwitch. More...
 
virtual void enableAttributeRelevanceSwitch ()
 Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant. More...
 
virtual void disableAttributeRelevanceSwitch ()
 Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant. More...
 
virtual void setAttributeRelevanceSwitch (bool enableSwitch)
 Set/Get value of attributeRelevanceAdvisorySwitch. More...
 
virtual bool attributeRelevanceSwitch () const
 Set/Get value of attributeRelevanceAdvisorySwitch. More...
 
virtual void enableAttributeScopeSwitch ()
 Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant. More...
 
virtual void disableAttributeScopeSwitch ()
 Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant. More...
 
virtual void setAttributeScopeSwitch (bool enableSwitch)
 Set/Get value of attributeScopeAdvisorySwitch. More...
 
virtual bool attributeScopeSwitch () const
 Set/Get value of attributeScopeAdvisorySwitch. More...
 

Static Public Member Functions

static DtObjectMgrcreate (DtFederateMgr *fedMgr)
 A Object Manager instance is created and its pointer is returned. More...
 
static void setCreatorFunction (DtObjectMgrCreator creator)
 Register a creator function. More...
 
static void setInternalCreatorFunction (DtObjectMgrCreator fn)
 Register alternate internal creators. More...
 

Protected Types

typedef std::map
< DtObjectClassHandle,
DtBitMask * > 
DtObjectClassMaskMap
 
typedef std::map
< DtObjectInstanceHandle,
DtBitMask * > 
DtObjectInstanceMaskMap
 
typedef std::list< std::pair
< DtObjectClassHandle,
DtAttributeHandleSet > > 
DtObjClassAttrSetPairList
 
typedef std::list< std::pair
< DtObjectInstanceHandle,
DtAttributeHandleSet > > 
DtObjInstAttrSetPairList
 
typedef std::list< std::pair
< DtObjectInstanceHandle,
std::pair
< MAKRti::DtTransportType,
DtAttributeHandleSet > > > 
DtPendingConfirmTransport
 
typedef std::map
< DtObjectClassHandle,
DtObjectInstanceHandleStdSet
DtClassToPendingObjDiscMap
 Pending discoveries and non-discoveries. More...
 
typedef std::map
< DtFederateHandle,
DtClassToPendingObjDiscMap
DtFederateToPendingObjDiscMap
 

Protected Member Functions

 DtObjectMgr (DtFederateMgr *fedMgr)
 Constructor. More...
 
virtual void insertBitMask (DtObjectClassMaskMap &classMaskMap, DtObjectClassHandle classHandle, DtFederateHandle fedHandle)
 
virtual void insertRegBitMask (DtObjectClassHandle classHandle, DtFederateHandle fedHandle)
 
virtual void insertSubBitMask (DtObjectClassHandle classHandle, DtFederateHandle fedHandle)
 
virtual void insertDiscBitMask (DtObjectClassHandle classHandle, DtFederateHandle fedHandle)
 
virtual void insertNonDiscBitMask (DtObjectClassHandle classHandle, DtFederateHandle fedHandle)
 
virtual void provideAttrValueUpdate (const DtRtiObject *obj, const DtAttributeHandleSet &attrHandles, DtRtiApiTagConstRef tag)
 Make the fedAmb call to provide attrValUpdate for this object. More...
 
virtual void remoteSubscribe (DtObjectClassInfo &classDesc, const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle, bool isReplacement)
 Add a remote subscription to object known database and determine effects on advisories. More...
 
virtual void remotePassiveSubscribe (DtObjectClassInfo &classDesc, const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle, bool isReplacement)
 Track passive subscriptions ( no effect on advisories ) More...
 
virtual void remoteUnsubscribe (DtObjectClassHandle classHandle, const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle)
 Remove a remote subscription to object known database and determine effects on advisories. More...
 
virtual void setDiscoveredClass (DtRtiObject &object, DtFederateHandle federateHandle, DtObjectClassHandle classHandle)
 Set the remote federate's discovered class and update the object's remote subscription information. More...
 
virtual void processAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle fed, bool onlyIfAvail, DtRtiApiTagConstRef tag)
 Process a remote attribute acquisition. More...
 
virtual void processCancelAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle fed)
 Process a remote cancel attribute acquisition. More...
 
virtual void processConfirmCancelAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs)
 Process a remote confirm attribute acquisition. More...
 
virtual void processDivest (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle fed, bool negotiated, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 Process a remote attribute divestiture. More...
 
virtual void notifyDivestedAttributes (DtObjectClassHandle objectClass, DtAttributeHandleSet const &attrs)
 Find any divested attributes instances that match (is of) the supplied class and set. More...
 
virtual void processQueryOwner (DtObjectInstanceHandle objHand, DtAttributeHandleSet const &attrs, DtFederateHandle requestor)
 Process a remote attribute ownership queury. More...
 
virtual void processNotifyAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag, bool forceAcquire=false)
 Process a remote notify attribute acquisition. More...
 
virtual void processNotifyAcquireForDirectedMessaging (DtFederateHandle fedHandle, DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs)
 Process a remote notify attribute acquisition for directed messaging. More...
 
virtual void processGiveToLrc (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, const char *objectName, DtHandle hand)
 Give the supplied attributes to the local RTI component. More...
 
virtual void processOwnershipUnavailable (DtObjectInstanceHandle objectHandle, const DtAttributeHandleSet &attributes, DtRtiApiTagConstRef userTag)
 Inform federate these attributes are unavailable (if it has pendnig requests) More...
 
virtual void resetOwner (DtFederateHandle fedHandle, DtObjectInstanceHandle objHandle)
 Reset the owner of the object. More...
 
virtual void sendPendingStartUpdates ()
 Send pending startUpdates. More...
 
virtual void sendPendingStopUpdates ()
 Send pending stopUpdates. More...
 
virtual void sendPendingStartReg ()
 Send pending startRegistration. More...
 
virtual void sendPendingStopReg ()
 Send pending stopRegistration. More...
 
virtual void sendPendingRegister ()
 Send pending Register. More...
 
virtual void sendPendingSubscription ()
 Send pending subscription class retransmissions. More...
 
virtual void sendPendingRemovals ()
 Send pending object removals. More...
 
virtual void sendPendingRequestAttributes ()
 Send pending request attribute value. More...
 
virtual void sendPendingDiscoveries ()
 Send pending discoveries. More...
 
virtual void invokePendingDivestNotification ()
 Invoke pending divest notification. More...
 
virtual void invokePendingConfirmTransportChange ()
 Invoke pending confirm transportation change. More...
 
virtual void purgeDeletedObjects ()
 Purge entries for recently deleted objects that have timed out. More...
 
virtual void resetNameReservation (std::string objectName)
 Reset a reserved name to not reserved. More...
 
virtual void resetNameUsed (std::string objectName)
 Reset an in use reserved name to not used (does not change reserve status) More...
 
virtual void throwIfAcquisitionPending (DtObjectClassHandle classHand, const DtAttributeHandleSet &attrs)
 If an acquisition request is pending for an attributes in attrs for any objects known at class classHand, throw RTI::OwnershipAcquisitionPending. More...
 
virtual void confirmAllInstancesPendingDivestitures (DtObjectClassHandle classHand, const DtAttributeHandleSet &attrs)
 Automatically confirm any pending acquisitions in attrs (ignore attributes that are not pending) for all instances of the object class. More...
 
virtual void confirmPendingDivestitures (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtAttributeHandleSet &divestedSet, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 Automatically confirm any pending acquisitions in attrs (ignore attributes that are not pending) for a specific object instance. More...
 
virtual void cancelPendingConfirms (DtRtiObject *obj, const DtAttributeHandleSet &attrs)
 Automatically inform any federates with pending acquistions that the attributes are no longer available. More...
 
virtual void divestAllInstances (DtObjectClassHandle classHand, const DtAttributeHandleSet &attrs)
 Divest ownership (unconditionally) of all owned attributes in attrs for each object that's known at class classHand. More...
 
virtual void divestAllInstances ()
 Divest ownership (unconditionally) of all owned attributes of all objects. More...
 
virtual void releaseAllAttributes (DtRtiObject *object)
 Release (unconditionally) all owned and LRC managed attributes Only used during a resign. More...
 
virtual void releaseOwnership (DtRtiObject *obj, const DtAttributeHandleSet &attrs)
 Releases ownership of the specified attributes to the LRC Used when unpublishing. More...
 
virtual void sendUpdateMessage (DtUpdateMsg *update, DtObjectClassInfo *classDesc, DtUpdateType updateType, MAKRti::DtTransportType trans, unsigned int numberAttrs, MAKRti::DtInetAddr destAddr=DtInetAddr::inaddrAny(), unsigned int offset=0)
 Send update message. More...
 
virtual void deleteAllOwnedObjects ()
 Delete all objects for which we own the privilege. More...
 
virtual void deleteObj (DtRtiObject *obj, bool isLocalDelete=false)
 Remove object from all lists and delete it. More...
 
virtual void retainTsoDeletedObj (DtRtiObject *obj, DtRtiApiTime const &time)
 TSO deleted object was prematurely deleted when regulation disabled Hold onto it until deletion time passes in order to process discovery. More...
 
virtual void retainTsoRemovedObj (DtRtiObject *obj, DtRtiApiTime const &time)
 TSO removed object may be discovered by other federates but should not be rediscovered by this federate. More...
 
virtual bool removedObjectIsRetained (DtObjectInstanceHandle objectHandle)
 Check list of objects that have been removed via TSO delete and are unknown to the federate but whose delete time has not passed yet. More...
 
virtual void removeObjectAssociations (DtRtiObject &object)
 Remove associations to this object (e.g., regions) More...
 
virtual void collectRemoteSubscriptions (DtRtiObject &object)
 Collect existing remote subscriptions and apply them to given object Supports attribute advisories when not distributing discovered class. More...
 
virtual DtObjectInstanceHandle findReusableHandle ()
 Attempt to find an instance handle that can be re-assigned to a new registration Returns a 0 handle if no free handle found. More...
 
virtual DtRtiObjectregisterObj (DtObjectClassHandle theClass, DtObjectInstanceHandle objHandle, const char *name)
 Register a locally simulated object. More...
 
virtual DtRtiObjectprocessNewObj (DtObjectInstanceHandle objHand, DtObjectClassInfo *actualClass, DtObjectClassInfo *subscribedClass, const char *name, const DtAhvps &inSet, DtHandle regSetHandle, DtFederateHandle sourceFederate)
 Assumes we have not yet discovered objHand. More...
 
virtual DtRtiObjectdiscoverObject (DtObjectInstanceHandle objHandle, const char *objName, DtObjectClassInfo *actualClass, DtObjectClassInfo *discoveredClass, const DtAttributeHandleSet &attrSet, DtFederateHandle federateHandle, bool federateOwnsPrivilegeToDelete)
 Discover this object using the actual and discovered class and the supplied attributes that intersect the federate's subscription(s) Return object if discover successful; otherwise, NULL. More...
 
virtual void invokeReflect (DtFederateHandle federateHandle, RTI_API::ObjectInstanceHandle objectHandle, RTI_API::AttributeHandleValueMap const &reflectedValues, DtRtiApiTransportationType transportType, RTI_API::OrderType sentOrder, RTI_API::OrderType receivedOrder, DtRtiApiTagConstRef theTag, DtRtiApiTime const *time=0, unsigned long serialNumber=0, RTI_API::RegionHandleSet const *regionHandles=0)
 Invoke the reflect attribute values update call. More...
 
virtual bool acceptObjectChannel (unsigned long channel)
 Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled. More...
 
virtual bool acceptRequestChannel (unsigned long channel)
 Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled. More...
 
virtual bool saveObjectList (DtRtiSaveFile &file)
 save out the list of of known and owned objects More...
 
virtual bool restoreObjectList (DtRtiSaveFile &file)
 restore the list of known and owned objects More...
 
virtual void destroyObjectLists ()
 Destroy all the object lists and their elements. More...
 
virtual unsigned long savePacketLength ()
 Return the length of buffer needed to save the state data. More...
 
virtual void removeRequestedOwnershipAssumption (DtObjectInstanceHandle objHdl, const DtAttributeHandleSet &attrs)
 Removes the attributes from the list of requested attribute ownership assumption previously invoked. More...
 
virtual void processUpdate (const DtUpdateMsg &msg)
 Process messages. More...
 
virtual void processReserveName (DtReserveNameMsg const &msg)
 Process messages. More...
 
virtual void processNameReserved (DtNameReservedMsg const &msg)
 Process messages. More...
 
virtual void processMultiNameReserved (DtMultiNameReservedMsg const &msg)
 Process messages. More...
 
virtual void processQueryTransport (const DtQueryTransportMsg &msg)
 Process messages. More...
 
virtual void processQueryInterTransport (const DtQueryInterTransportMsg &msg)
 Process messages. More...
 
virtual void processRegister (const DtRegObjMsg &msg)
 Process messages. More...
 
virtual void processMultiRegister (const DtMultiRegObjMsg &msg)
 Process messages. More...
 
virtual void processDiscover (const DtDiscObjMsg &msg)
 Process messages. More...
 
virtual void processRequestDiscover (const DtReqDiscObjMsg &msg)
 Process messages. More...
 
virtual void processDelete (const DtDeleteRoMsg &msg)
 Process messages. More...
 
virtual void processLocDelete (const DtLocDelMsg &msg)
 Process messages. More...
 
virtual void processPub (const DtPubObjMsg &msg)
 Process messages. More...
 
virtual void processUnpub (const DtUnpubObjMsg &msg)
 Process messages. More...
 
virtual void processSub (const DtSubObjMsg &msg)
 Process messages. More...
 
virtual void processUnsub (const DtUnsubObjMsg &msg)
 Process messages. More...
 
virtual void processRequest (const DtRequestMsg &msg)
 Process messages. More...
 
virtual void processOwnership (const DtOwnershipMsg &msg)
 Process messages. More...
 
virtual void sendPublishMsg (DtObjectClassHandle handle, const DtAttributeHandleSet &theSet)
 Send various types of RTI messages. More...
 
virtual void sendUnpublishMsg (DtObjectInstanceHandle handle, const DtAttributeHandleSet &theSet)
 Send various types of RTI messages. More...
 
virtual void sendUnsubscribeMsg (DtObjectClassHandle handle, const DtAttributeHandleSet &theSet)
 Send various types of RTI messages. More...
 
virtual void sendSubscribeMsg (DtObjectClassHandle theObj, bool isPassive, bool replacement, const DtAttributeHandleSet &theSet, DtFederateHandle fedHandle)
 Send various types of RTI messages. More...
 
virtual void sendSubscribeMsg (DtObjectClassHandle theObj, bool isPassive, bool replacement, const DtAttributeHandleSet &theSet, DtBitMask *sendMask=0)
 Send various types of RTI messages. More...
 
virtual void sendRegisterMsg (DtRtiObject *object, DtBitMask *sendMask=0)
 Send various types of RTI messages. More...
 
virtual void sendRegisterMsg (DtRtiMsg *msg, DtRtiObject *object, DtBitMask *sendMask=0)
 Send various types of RTI messages. More...
 
virtual void sendLocalDeleteMsg (DtObjectInstanceHandle handle)
 Send various types of RTI messages. More...
 
virtual void sendDiscoverMsg (DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle, DtFederateHandle owner)
 Send various types of RTI messages. More...
 
virtual void sendDiscoverMsg (DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle, DtFederateHandle owner, DtBitMask *fedHandles)
 Send various types of RTI messages. More...
 
virtual void sendRequestDiscoverMsg (DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle)
 Send various types of RTI messages. More...
 
virtual void sendRemoveDiscoverMsg (DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle, DtFederateHandle fedHandle)
 Send various types of RTI messages. More...
 
virtual void sendReserveNameMsg (std::string const &theObjectInstanceName)
 Send various types of RTI messages. More...
 
virtual void sendBestEffortUpdateMsg (DtRtiObject *obj, const DtAhvpBase &theAttrs, DtOrderHandle orderType, DtRtiApiTime const *theTime, DtRtiApiTagConstRef tag, unsigned long serialNumber, const MAKRti::DtInetAddr &destAddr, unsigned int offset=0)
 Send various types of RTI messages. More...
 
virtual void sendReliableUpdateMsg (DtRtiObject *obj, const DtAhvpBase &theAttrs, DtOrderHandle orderType, DtRtiApiTime const *theTime, DtRtiApiTagConstRef tag, unsigned long serialNumber)
 Send various types of RTI messages. More...
 
virtual unsigned long sendDeleteMsg (DtObjectInstanceHandle handle, DtOrderHandle orderType, DtRtiApiTime const *theTime, DtRtiApiTagConstRef tag)
 Send various types of RTI messages. More...
 
virtual void sendOwnershipMsg (DtOwnerMsgKind kind, DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle targetFed=0, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 Send various types of RTI messages. More...
 
virtual void sendOwnershipMsg (DtOwnerMsgKind kind, DtObjectInstanceHandle objHand, const DtAttributeHandle attr, DtFederateHandle targetFed=0, DtRtiApiTagConstRef tag=DtRtiMsg::theDefaultTag)
 Send various types of RTI messages. More...
 
virtual void sendAttrQueryFoundMsg (DtFederateHandle targetFed, DtObjectInstanceHandle objHand, const DtAttributeHandle attr, DtTransportType transType)
 Send various types of RTI messages. More...
 
virtual void sendInterQueryFoundMsg (DtFederateHandle targetFed, DtObjectInstanceHandle objHand, const DtInteractionClassHandle handle, DtTransportType transType)
 Send various types of RTI messages. More...
 
void sendInterQueryMsg (DtFederateHandle targetFed, DtInteractionClassHandle handle, DtFederateHandle sendingFed)
 Send various types of RTI messages. More...
 
virtual unsigned long federateHandleSlotFromObjectHandle (DtObjectInstanceHandle handle) const
 Return the federate handle slot used to construct the given object ID. More...
 
virtual unsigned long nextOffsetId ()
 Return the next offset ID. More...
 
virtual void removeObjectInstance (DtObjectInstanceHandle objectHandle, DtRtiApiTagConstRef tag, DtFederateHandle federateHandle)
 Invoke remove object call. More...
 
virtual void removeObjectInstance (DtObjectInstanceHandle objectHandle, DtRtiApiTagConstRef tag, DtOrderHandle orderType, DtRtiApiTime const &time, DtFederateHandle federateHandle, unsigned long serialNumber)
 Invoke remove object call. More...
 
virtual void addClassMulticast (DtObjectClassInfo *classDesc, float rate=-1.0)
 Recursively add and remove the DM multicast address of this class and all its subclasses The Rate determines which update rate multicast offsets to join and drop A rate less than zero indicates rate should be retrieved from class A rate equal zero indicates no rate should be used and all offsets are affected. More...
 
virtual void removeClassMulticast (DtObjectClassInfo *classDesc, float rate=-1.0)
 Recursively add and remove the DM multicast address of this class and all its subclasses The Rate determines which update rate multicast offsets to join and drop A rate less than zero indicates rate should be retrieved from class A rate equal zero indicates no rate should be used and all offsets are affected. More...
 
virtual void invokeTurnUpdatesOn (DtObjectInstanceHandle objectHandle, const DtAttributeHandleSet &changedSet)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 
virtual void invokeTurnUpdatesOff (DtObjectInstanceHandle objectHandle, const DtAttributeHandleSet &changedSet)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 
virtual void invokeAcquisitionNotification (DtObjectInstanceHandle objectHandle, const DtAttributeHandleSet &acquiredAttributes, DtRtiApiTagConstPtr userTag=nullptr)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 
virtual void invokeRequestAttributeOwnershipAssumption (DtObjectInstanceHandle objectHandle, const DtAttributeHandleSet &acquiredAttributes, DtRtiApiTagConstRef userTag)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 
virtual void invokeAttributeOwnershipUnavailable (DtObjectInstanceHandle objectHandle, const DtAttributeHandleSet &unavailableAttributes, DtRtiApiTagConstRef userTag=DtRtiMsg::theDefaultTag)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 
virtual void invokeAttributeIsNotOwned (DtObjectInstanceHandle objectHandle, DtAttributeHandle attribute)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 
virtual void invokeAttributeIsOwnedByRTI (DtObjectInstanceHandle objectHandle, DtAttributeHandle attribute)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 
virtual void invokeInformAttributeOwnership (DtObjectInstanceHandle objectHandle, DtAttributeHandle attribute, DtFederateHandle federate)
 Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API. More...
 

Static Protected Member Functions

static void processUpdate (const DtUpdateMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processReserveName (DtReserveNameMsg const &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processNameReserved (DtNameReservedMsg const &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processMultiNameReserved (DtMultiNameReservedMsg const &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processQueryTransport (const DtQueryTransportMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processQueryInterTransport (const DtQueryInterTransportMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processRegister (const DtRegObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processMultiRegister (const DtMultiRegObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processDiscover (const DtDiscObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processRequestDiscover (const DtReqDiscObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processDelete (const DtDeleteRoMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processLocDelete (const DtLocDelMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processPub (const DtPubObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processUnpub (const DtUnpubObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processSub (const DtSubObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processUnsub (const DtUnsubObjMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processRequest (const DtRequestMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 
static void processOwnership (const DtOwnershipMsg &msg, void *usr)
 Message callback methods to register with connection manager. More...
 

Protected Attributes

DtFederateMgrmyFederateMgr
 Access to the federate manager. More...
 
std::set< std::string > myReservedNames
 These names are reserved by this federate but have not been used. More...
 
std::set< std::string > myUsedNames
 These names have been used by this federate to register an object instance. More...
 
std::set< std::string > myFailedNames
 Reservation of these names failed (i.e., reserved by another federate). More...
 
MAKRti::DtString myHlaNamePrefix
 The HLA object instance name prefix. More...
 
DtRtiObjectMap myObjects
 List of all objects by handle. More...
 
std::map< MAKRti::DtString,
DtRtiObject * > 
myObjectsByName
 List of all objects by name. More...
 
DtRtiObjectMap myKnownObjs
 List of known objects by handle. More...
 
std::map< MAKRti::DtString,
DtRtiObject * > 
myKnownObjsByName
 List of known objects by name. More...
 
DtRtiObjectMap myOwnedObjs
 List of owned objects by handle. More...
 
std::map< MAKRti::DtString,
DtRtiObject * > 
myOwnedObjsByName
 List of owned objects by name. More...
 
DtRtiObjectMap myLrcManagedObjs
 List of LRC owned objects by handle. More...
 
std::map< MAKRti::DtString,
DtRtiObject * > 
myLrcManagedObjsByName
 List of LRC owned objects by name. More...
 
DtAddrMap myAddrMap
 Map of routing addresses by region set handle. More...
 
std::map
< DtObjectInstanceHandle,
MAKRti::DtTime > 
myDeletedObjects
 Set of objects that have been recently deleted that will not be discovered via update. More...
 
DtHandle myFreeObjHandle
 The next free object handle. More...
 
bool myIsJoined
 Manager has performed join processing. More...
 
bool myRestoreInProgress
 Status of restore. More...
 
bool myReuseIds
 Unique object IDs have been exhausted, attempt to reuse IDs. More...
 
MAKRti::DtClock myClock
 Clock for timing. More...
 
DtFederateToPendingObjDiscMap myPendingDiscoveries
 
DtObjectClassMaskMap myPendingDiscoveriesMaskList
 
DtFederateToPendingObjDiscMap myPendingNonDiscoveries
 
DtObjectClassMaskMap myPendingNonDiscoveriesMaskList
 
DtTime myNextPendingDiscTime
 Next time we should send pending discovery messages. More...
 
DtObjectInstanceHandleStdSet myIgnoreObjects
 Set of object handles whose next updates should be ignored. More...
 
bool myForceBestEffort
 Send everything best effort. More...
 
std::set< DtRtiMsgKindmyConstrainedUpdateKinds
 
std::set< DtRtiMsgKindmyConstrainedDeleteKinds
 
const int myShiftForFederateHandle
 
DtObjectClassHandleStdSet myRetransmitSubClass
 Post processing lists. More...
 
DtObjectClassMaskMap myRetransmitSubClassMask
 Post processing lists. More...
 
DtObjectInstanceHandleStdSet myLocalDeletedObjects
 Post processing lists. More...
 
DtObjInstAttrSetPairList myPendingStartUpdatesList
 Post processing lists. More...
 
DtObjClassAttrSetPairList myPendingStopUpdatesList
 Post processing lists. More...
 
DtObjectClassHandleStdSet myPendingStartRegList
 Post processing lists. More...
 
DtObjectClassHandleStdSet myPendingStopRegList
 Post processing lists. More...
 
DtObjectClassHandleStdSet myPendingRegisterList
 Post processing lists. More...
 
DtObjectClassMaskMap myPendingRegisterMaskList
 Post processing lists. More...
 
DtObjectInstanceHandleStdSet myPendingInstRegisterList
 Post processing lists. More...
 
MAKRti::DtList myPendingRemovals
 Post processing lists. More...
 
DtPendingRequestAttrMap myPendingRequestAttrs
 Post processing lists. More...
 
DtPendingRequestAttrMap myPendingDivestNotifications
 Post processing lists. More...
 
DtPendingRequestAttrMap myRequestedAttributeAssumptions
 Post processing lists. More...
 
DtPendingRequestAttrMap myPendingOwnershipRequest
 Post processing lists. More...
 
DtPendingConfirmTransport myPendingConfirmTransportChange
 Post processing lists. More...
 
bool myClassRelevanceSwitch
 Advisory switches. More...
 
bool myAttributeRelevanceSwitch
 Advisory switches. More...
 
bool myAttributeScopeSwitch
 Advisory switches. More...
 

Static Protected Attributes

static DtObjectMgrCreator theCreator
 The plugin creator. More...
 
static DtObjectMgrCreator theInternalCreator
 The internal creator. More...
 

Private Member Functions

 DtObjectMgr (DtObjectMgr const &)
 Copy Constructor not implemented – Copy Not Allowed! More...
 
DtObjectMgroperator= (DtObjectMgr const &)
 Assignment not implemented – Assignment Not Allowed! More...
 

Detailed Description

The object manager class processes the object management services.

The object manager manages all the objects in a federation. It handles registers, discovers, updates, reflects, subscriptions, publications, and ownership management.

Member Typedef Documentation

Pending discoveries and non-discoveries.

typedef DtObjectMgr*(* DtObjectMgr::DtObjectMgrCreator)(DtFederateMgr *fedMgr)

Object manager creator type.

typedef std::list< std::pair< DtObjectInstanceHandle, std::pair<MAKRti::DtTransportType, DtAttributeHandleSet> > > DtObjectMgr::DtPendingConfirmTransport
protected

Map of requested attributes.

Constructor & Destructor Documentation

DtObjectMgr::DtObjectMgr ( DtFederateMgr fedMgr)
protected

Constructor.

virtual DtObjectMgr::~DtObjectMgr ( )
virtual

Destructor.

DtObjectMgr::DtObjectMgr ( DtObjectMgr const &  )
private

Copy Constructor not implemented – Copy Not Allowed!

Member Function Documentation

virtual bool DtObjectMgr::acceptObjectChannel ( unsigned long  channel)
protectedvirtual

Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled.

virtual bool DtObjectMgr::acceptRequestChannel ( unsigned long  channel)
protectedvirtual

Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled.

virtual void DtObjectMgr::acquireAttrs ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet desiredAttributes,
bool  onlyIfAvail,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
virtual

Process an attribute acquisition.

virtual void DtObjectMgr::addAllObj ( DtRtiObject obj)
virtual

Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.

virtual void DtObjectMgr::addClassMulticast ( DtObjectClassInfo classDesc,
float  rate = -1.0 
)
protectedvirtual

Recursively add and remove the DM multicast address of this class and all its subclasses The Rate determines which update rate multicast offsets to join and drop A rate less than zero indicates rate should be retrieved from class A rate equal zero indicates no rate should be used and all offsets are affected.

virtual void DtObjectMgr::addKnownObj ( DtRtiObject obj)
virtual

Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.

virtual void DtObjectMgr::addLrcManagedObj ( DtRtiObject obj)
virtual

Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set.

virtual void DtObjectMgr::addOwnedObj ( DtRtiObject obj)
virtual

Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set.

virtual void DtObjectMgr::addPendingDiscovery ( DtObjectInstanceHandle  objectHandle,
DtObjectClassHandle  classHandle,
DtFederateHandle  federate,
bool  isNonDiscovery 
)
virtual

Add pending discovery/non-discovery.

virtual void DtObjectMgr::addPendingDivestNotification ( DtObjectInstanceHandle  objectHandle,
DtAttributeHandleSet  attributes 
)
virtual

Add pending divest notification that will get processed during the next tick.

virtual void DtObjectMgr::addPendingRegister ( DtObjectClassHandle  theClass,
DtFederateHandle  fedHandle = 0 
)
virtual

Add pending Register that will get processed during the next tick.

virtual void DtObjectMgr::addPendingRegisterForObject ( DtObjectInstanceHandle  objHandle)
virtual

Add pending Register for the given object that will get processed during next tick.

virtual void DtObjectMgr::addPendingRemoval ( DtObjectInstanceHandle  id)
virtual

Add pending object removals that will get processed during the next tick.

virtual void DtObjectMgr::addPendingRequestAttrs ( DtObjectInstanceHandle  objectHandle,
DtAttributeHandleSet  attributes 
)
virtual

Add pending request attribute value that will get processed during the next tick.

virtual void DtObjectMgr::addPendingStartReg ( DtObjectClassHandle  theClass)
virtual

Add pending startRegistration that will get processed during the next tick.

virtual void DtObjectMgr::addPendingStartUpdates ( DtObjectInstanceHandle  obj,
const DtAttributeHandleSet attributeList 
)
virtual

Add pending startUpdates that will get called during the next tick.

virtual void DtObjectMgr::addPendingStopReg ( DtObjectClassHandle  theClass)
virtual

Add pending stopRegistration that will get processed during the next tick.

virtual void DtObjectMgr::addPendingStopUpdates ( DtObjectClassHandle  theClass,
const DtAttributeHandleSet attributeList 
)
virtual

Add pending stopUpdates that will get called during the next tick.

virtual void DtObjectMgr::addPendingSubscription ( DtObjectClassHandle  theClass,
DtFederateHandle  fedHandle = 0 
)
virtual

Add pending subscription class retransmissions that will get processed during next tick.

virtual DtRtiObject* DtObjectMgr::allObj ( DtObjectInstanceHandle  id)
virtual

Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.

virtual DtRtiObject* DtObjectMgr::allObj ( const char *  name)
virtual

Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.

virtual const DtRtiObjectMap& DtObjectMgr::allObjects ( ) const
virtual

Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.

virtual bool DtObjectMgr::attributeRelevanceSwitch ( ) const
virtual

Set/Get value of attributeRelevanceAdvisorySwitch.

virtual bool DtObjectMgr::attributeScopeSwitch ( ) const
virtual

Set/Get value of attributeScopeAdvisorySwitch.

virtual void DtObjectMgr::autoProvideAttrValueUpdate ( )
virtual

Invoke provide for all owned attributes.

virtual void DtObjectMgr::cancelAcquire ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs 
)
virtual

Cancel an attribute acquisition.

virtual void DtObjectMgr::cancelDivest ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs 
)
virtual

Cancel an attribute divestiture.

virtual void DtObjectMgr::cancelPendingConfirms ( DtRtiObject obj,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Automatically inform any federates with pending acquistions that the attributes are no longer available.

virtual void DtObjectMgr::checkDirectedInteractions ( DtObjectClassInfo const *  classDesc,
DtInteractionClassHandleStdSet const &  interactionClassHandles 
)
virtual

Check that given object class is defined and that the given interaction classes are directed interactions of the object class Throws exception if not.

virtual bool DtObjectMgr::classRelevanceSwitch ( ) const
virtual

Set/Get value of classRelevanceAdvisorySwitch.

virtual void DtObjectMgr::collectRemoteSubscriptions ( DtRtiObject object)
protectedvirtual

Collect existing remote subscriptions and apply them to given object Supports attribute advisories when not distributing discovered class.

Actually can report more attributes than required.

virtual void DtObjectMgr::confirmAllInstancesPendingDivestitures ( DtObjectClassHandle  classHand,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Automatically confirm any pending acquisitions in attrs (ignore attributes that are not pending) for all instances of the object class.

virtual void DtObjectMgr::confirmDivestiture ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtRtiApiTagConstRef  theUserSuppliedTag 
)
virtual

Confirm an attribute divestiture.

virtual void DtObjectMgr::confirmPendingDivestitures ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtAttributeHandleSet divestedSet,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
protectedvirtual

Automatically confirm any pending acquisitions in attrs (ignore attributes that are not pending) for a specific object instance.

DtConnectionMgr* DtObjectMgr::connectMgr ( )
inline

Returns pointer to network connection mgr.

DtConnectionMgr* DtObjectMgr::connectMgr ( ) const
inline
static DtObjectMgr* DtObjectMgr::create ( DtFederateMgr fedMgr)
static

A Object Manager instance is created and its pointer is returned.

A registered creator is used if present; otherwise, an internal class is instantiated.

virtual void DtObjectMgr::deleteAllOwnedObjects ( )
protectedvirtual

Delete all objects for which we own the privilege.

virtual unsigned long DtObjectMgr::deleteObj ( DtObjectInstanceHandle  objectID,
DtRtiApiTime const *  theTime,
DtRtiApiTagConstRef  theTag 
)
virtual

Delete a locally simulated object Return retraction handle serial number.

virtual void DtObjectMgr::deleteObj ( DtRtiObject obj,
bool  isLocalDelete = false 
)
protectedvirtual

Remove object from all lists and delete it.

virtual void DtObjectMgr::destroyObjectLists ( )
protectedvirtual

Destroy all the object lists and their elements.

virtual void DtObjectMgr::disableAttributeRelevanceSwitch ( )
virtual

Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant.

virtual void DtObjectMgr::disableAttributeScopeSwitch ( )
virtual

Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant.

virtual void DtObjectMgr::disableClassRelevanceSwitch ( )
virtual

Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant.

virtual DtRtiObject* DtObjectMgr::discoverObject ( DtObjectInstanceHandle  objHandle,
const char *  objName,
DtObjectClassInfo actualClass,
DtObjectClassInfo discoveredClass,
const DtAttributeHandleSet attrSet,
DtFederateHandle  federateHandle,
bool  federateOwnsPrivilegeToDelete 
)
protectedvirtual

Discover this object using the actual and discovered class and the supplied attributes that intersect the federate's subscription(s) Return object if discover successful; otherwise, NULL.

virtual void DtObjectMgr::divestAllInstances ( DtObjectClassHandle  classHand,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Divest ownership (unconditionally) of all owned attributes in attrs for each object that's known at class classHand.

virtual void DtObjectMgr::divestAllInstances ( )
protectedvirtual

Divest ownership (unconditionally) of all owned attributes of all objects.

virtual void DtObjectMgr::divestOwnership ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtDivestCondition  condition,
DtAttributeHandleSet divestedSet,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
virtual

Process a attribute divestiture.

virtual void DtObjectMgr::enableAttributeRelevanceSwitch ( )
virtual

Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant.

virtual void DtObjectMgr::enableAttributeScopeSwitch ( )
virtual

Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant.

virtual void DtObjectMgr::enableClassRelevanceSwitch ( )
virtual

Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant.

virtual int DtObjectMgr::evaluateSubscription ( DtRtiMsg const &  msg)
virtual

Return bool: is message an update or delete that can generate a reflect or remove callback? Determine if message is update or delete and if so, is it subscribed e.g., would be delivered as callback if processed Returns -1 if not an update/delete, 0 if no delivery expected, 1 if delivery expected.

virtual unsigned long DtObjectMgr::federateHandleSlotFromObjectHandle ( DtObjectInstanceHandle  handle) const
protectedvirtual

Return the federate handle slot used to construct the given object ID.

DtFederateMgr* DtObjectMgr::federateMgr ( )
inline

Access to the federate manager.

DtFederateMgr* DtObjectMgr::federateMgr ( ) const
inline
virtual DtObjectInstanceHandle DtObjectMgr::findReusableHandle ( )
protectedvirtual

Attempt to find an instance handle that can be re-assigned to a new registration Returns a 0 handle if no free handle found.

virtual DtObjectClassInfo* DtObjectMgr::firstSubscribedClass ( DtObjectClassInfo classDesc,
DtHandle  regSetHandle 
)
virtual

Returns most specific superclass of class, to which we are subscribed.

DtFomClassMgr* DtObjectMgr::fom ( )
inline

Return fom pointer.

DtFomClassMgr* DtObjectMgr::fom ( ) const
inline

Return fom pointer.

virtual void DtObjectMgr::getUniqueName ( DtObjectInstanceHandle  handle,
MAKRti::DtString &  objectName 
)
virtual

Use the supplied object handle to construct a unique object name and assign a unique name to the supplied string.

virtual double DtObjectMgr::getUpdateRateForAttribute ( DtObjectInstanceHandle  objHandle,
DtAttributeHandle  attrHandle 
)
virtual
bool DtObjectMgr::holdsPrivilegeToDelete ( const DtObjectInstanceHandle id)
virtual void DtObjectMgr::ignoreNextUpdate ( DtObjectInstanceHandle  hdl)
virtual

Tells the object manager to ignore the next update for the given object.

virtual void DtObjectMgr::insertBitMask ( DtObjectClassMaskMap classMaskMap,
DtObjectClassHandle  classHandle,
DtFederateHandle  fedHandle 
)
protectedvirtual
virtual void DtObjectMgr::insertDiscBitMask ( DtObjectClassHandle  classHandle,
DtFederateHandle  fedHandle 
)
protectedvirtual
virtual void DtObjectMgr::insertNonDiscBitMask ( DtObjectClassHandle  classHandle,
DtFederateHandle  fedHandle 
)
protectedvirtual
virtual void DtObjectMgr::insertRegBitMask ( DtObjectClassHandle  classHandle,
DtFederateHandle  fedHandle 
)
protectedvirtual
virtual void DtObjectMgr::insertSubBitMask ( DtObjectClassHandle  classHandle,
DtFederateHandle  fedHandle 
)
protectedvirtual
virtual void DtObjectMgr::invokeAcquisitionNotification ( DtObjectInstanceHandle  objectHandle,
const DtAttributeHandleSet acquiredAttributes,
DtRtiApiTagConstPtr  userTag = nullptr 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual void DtObjectMgr::invokeAttributeIsNotOwned ( DtObjectInstanceHandle  objectHandle,
DtAttributeHandle  attribute 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual void DtObjectMgr::invokeAttributeIsOwnedByRTI ( DtObjectInstanceHandle  objectHandle,
DtAttributeHandle  attribute 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual void DtObjectMgr::invokeAttributeOwnershipUnavailable ( DtObjectInstanceHandle  objectHandle,
const DtAttributeHandleSet unavailableAttributes,
DtRtiApiTagConstRef  userTag = DtRtiMsg::theDefaultTag 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual void DtObjectMgr::invokeInformAttributeOwnership ( DtObjectInstanceHandle  objectHandle,
DtAttributeHandle  attribute,
DtFederateHandle  federate 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual void DtObjectMgr::invokePendingConfirmTransportChange ( )
protectedvirtual

Invoke pending confirm transportation change.

virtual void DtObjectMgr::invokePendingDivestNotification ( )
protectedvirtual

Invoke pending divest notification.

virtual void DtObjectMgr::invokeReflect ( DtFederateHandle  federateHandle,
RTI_API::ObjectInstanceHandle  objectHandle,
RTI_API::AttributeHandleValueMap const &  reflectedValues,
DtRtiApiTransportationType  transportType,
RTI_API::OrderType  sentOrder,
RTI_API::OrderType  receivedOrder,
DtRtiApiTagConstRef  theTag,
DtRtiApiTime const *  time = 0,
unsigned long  serialNumber = 0,
RTI_API::RegionHandleSet const *  regionHandles = 0 
)
protectedvirtual

Invoke the reflect attribute values update call.

virtual void DtObjectMgr::invokeRequestAttributeOwnershipAssumption ( DtObjectInstanceHandle  objectHandle,
const DtAttributeHandleSet acquiredAttributes,
DtRtiApiTagConstRef  userTag 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual void DtObjectMgr::invokeTurnUpdatesOff ( DtObjectInstanceHandle  objectHandle,
const DtAttributeHandleSet changedSet 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual void DtObjectMgr::invokeTurnUpdatesOn ( DtObjectInstanceHandle  objectHandle,
const DtAttributeHandleSet changedSet 
)
protectedvirtual

Generically invoke the federate ambassador callbacks converting parameters as needed by specific HLA API.

virtual bool DtObjectMgr::isAcquistionPending ( )
virtual

Return true if ownership acquistion is pending for remote attrs.

virtual bool DtObjectMgr::isPostJoined ( ) const
virtual

Return bool: Was the post join initialization perfomerd?

virtual DtRtiObject* DtObjectMgr::knownObj ( DtObjectInstanceHandle  id)
virtual

Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.

virtual const DtRtiObject* DtObjectMgr::knownObj ( DtObjectInstanceHandle  id) const
virtual

Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.

virtual DtRtiObject* DtObjectMgr::knownObj ( const char *  name)
virtual

Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.

virtual const DtRtiObject* DtObjectMgr::knownObj ( const char *  name) const
virtual

Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.

virtual const DtRtiObjectMap& DtObjectMgr::knownObjects ( ) const
virtual

Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.

virtual void DtObjectMgr::localDeleteObj ( DtObjectInstanceHandle  obj)
virtual

Implements the localDeleteObjectInstance service.

virtual DtRtiObject* DtObjectMgr::lrcManagedObj ( DtObjectInstanceHandle  id)
virtual

Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set.

virtual DtRtiObject* DtObjectMgr::lrcManagedObj ( const char *  name)
virtual

Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set.

virtual const DtRtiObjectMap& DtObjectMgr::lrcManagedObjects ( ) const
virtual

Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set.

virtual unsigned long DtObjectMgr::nextOffsetId ( )
protectedvirtual

Return the next offset ID.

An invalid ID of 0 is returned if this next offset exceeded the maximum.

virtual void DtObjectMgr::notifyDivestedAttributes ( DtObjectClassHandle  objectClass,
DtAttributeHandleSet const &  attrs 
)
protectedvirtual

Find any divested attributes instances that match (is of) the supplied class and set.

Send a notify divest for them.

virtual int DtObjectMgr::numObjectsOwned ( )
virtual

return the number of owned objects

virtual DtObjectClassHandle DtObjectMgr::objectClass ( DtObjectInstanceHandle  handle)
virtual

Get an object's class.

virtual DtObjectInstanceHandle DtObjectMgr::objectHandle ( const char *  name)
virtual

Get objectHandle from name.

virtual const char* DtObjectMgr::objectName ( DtObjectInstanceHandle  handle)
virtual

Get object name from handle.

Returns pointer to internal memory.

virtual bool DtObjectMgr::objectWasCreatedByFederate ( DtRtiObject const &  obj,
DtFederateHandle const &  fedHandle 
)
virtual

Query the object manager to determine whether the specified federate was the initial creator of the specified object.

DtObjectMgr& DtObjectMgr::operator= ( DtObjectMgr const &  )
private

Assignment not implemented – Assignment Not Allowed!

virtual DtRtiObject* DtObjectMgr::ownedObj ( DtObjectInstanceHandle  id)
virtual

Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set.

virtual DtRtiObject* DtObjectMgr::ownedObj ( const char *  name)
virtual

Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set.

virtual const DtRtiObjectMap& DtObjectMgr::ownedObjects ( ) const
virtual

Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set.

DtRIDParameters* DtObjectMgr::params ( )
inline

Return pointer to RID parameters.

DtRIDParameters* DtObjectMgr::params ( ) const
inline

Return pointer to RID parameters.

virtual void DtObjectMgr::postJoinInit ( )
virtual

Post join processing. All managers shall have been created and initialized.

virtual void DtObjectMgr::postTick ( )
virtual

Called after processing messages in RTI ambassador tick / evoke callbacks.

void DtObjectMgr::prepareToResign ( RTI_API::ResignAction const &  theAction)

Called when resigning from a federation to test conditions and to delete owned objects.

virtual void DtObjectMgr::prepareToRestore ( )
virtual

Prepare the state information to be restored (i.e., clear out existing data).

virtual void DtObjectMgr::preTick ( )
virtual

Called before processing messages in RTI ambassador tick / evoke callbacks.

virtual void DtObjectMgr::processAcquire ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtFederateHandle  fed,
bool  onlyIfAvail,
DtRtiApiTagConstRef  tag 
)
protectedvirtual

Process a remote attribute acquisition.

virtual void DtObjectMgr::processCancelAcquire ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtFederateHandle  fed 
)
protectedvirtual

Process a remote cancel attribute acquisition.

virtual void DtObjectMgr::processConfirmCancelAcquire ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Process a remote confirm attribute acquisition.

virtual void DtObjectMgr::processDelete ( const DtDeleteRoMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processDelete ( const DtDeleteRoMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processDiscover ( const DtDiscObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processDiscover ( const DtDiscObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processDivest ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtFederateHandle  fed,
bool  negotiated,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
protectedvirtual

Process a remote attribute divestiture.

virtual void DtObjectMgr::processGiveToLrc ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
const char *  objectName,
DtHandle  hand 
)
protectedvirtual

Give the supplied attributes to the local RTI component.

virtual void DtObjectMgr::processLocDelete ( const DtLocDelMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processLocDelete ( const DtLocDelMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processMultiNameReserved ( DtMultiNameReservedMsg const &  msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processMultiNameReserved ( DtMultiNameReservedMsg const &  msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processMultiRegister ( const DtMultiRegObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processMultiRegister ( const DtMultiRegObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processNameReserved ( DtNameReservedMsg const &  msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processNameReserved ( DtNameReservedMsg const &  msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual DtRtiObject* DtObjectMgr::processNewObj ( DtObjectInstanceHandle  objHand,
DtObjectClassHandle  realClass,
const char *  name,
const DtAttributeHandleSet inSet,
DtHandle  regSetHandle,
DtFederateHandle  sourceFederate 
)
virtual

Assumes we have not yet discovered objHand.

If the object meets our discovery criteria, create a new object, add to the list of known objects, and call discover RTI service. Returns the new object if discovered; otherwise, NULL.

virtual DtRtiObject* DtObjectMgr::processNewObj ( DtObjectInstanceHandle  objHand,
DtObjectClassInfo actualClass,
DtObjectClassInfo subscribedClass,
const char *  name,
const DtAhvps inSet,
DtHandle  regSetHandle,
DtFederateHandle  sourceFederate 
)
protectedvirtual

Assumes we have not yet discovered objHand.

If the object meets our discovery criteria, create a new object, add to the list of known objects, and call discover RTI service. Returns the new object if discovered; otherwise, NULL.

virtual void DtObjectMgr::processNotifyAcquire ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag,
bool  forceAcquire = false 
)
protectedvirtual

Process a remote notify attribute acquisition.

virtual void DtObjectMgr::processNotifyAcquireForDirectedMessaging ( DtFederateHandle  fedHandle,
DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Process a remote notify attribute acquisition for directed messaging.

virtual void DtObjectMgr::processOwnership ( const DtOwnershipMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processOwnership ( const DtOwnershipMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processOwnershipUnavailable ( DtObjectInstanceHandle  objectHandle,
const DtAttributeHandleSet attributes,
DtRtiApiTagConstRef  userTag 
)
protectedvirtual

Inform federate these attributes are unavailable (if it has pendnig requests)

virtual void DtObjectMgr::processPub ( const DtPubObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processPub ( const DtPubObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processQueryInterTransport ( const DtQueryInterTransportMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processQueryInterTransport ( const DtQueryInterTransportMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processQueryOwner ( DtObjectInstanceHandle  objHand,
DtAttributeHandleSet const &  attrs,
DtFederateHandle  requestor 
)
protectedvirtual

Process a remote attribute ownership queury.

virtual void DtObjectMgr::processQueryTransport ( const DtQueryTransportMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processQueryTransport ( const DtQueryTransportMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processRegister ( const DtRegObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processRegister ( const DtRegObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processRequest ( const DtRequestMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processRequest ( const DtRequestMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processRequestDiscover ( const DtReqDiscObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processRequestDiscover ( const DtReqDiscObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processReserveName ( DtReserveNameMsg const &  msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processReserveName ( DtReserveNameMsg const &  msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processResign ( const DtResignMsg msg)
virtual

Process the resign message.

virtual void DtObjectMgr::processSub ( const DtSubObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processSub ( const DtSubObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processUnpub ( const DtUnpubObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processUnpub ( const DtUnpubObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processUnsub ( const DtUnsubObjMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processUnsub ( const DtUnsubObjMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::processUpdate ( const DtUpdateMsg msg)
protectedvirtual

Process messages.

static void DtObjectMgr::processUpdate ( const DtUpdateMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager.

virtual void DtObjectMgr::provideAttrValueUpdate ( const DtRtiObject obj,
const DtAttributeHandleSet attrHandles,
DtRtiApiTagConstRef  tag 
)
protectedvirtual

Make the fedAmb call to provide attrValUpdate for this object.

virtual void DtObjectMgr::publish ( DtObjectClassHandle  theObject,
const DtAttributeHandleSet attributeList 
)
virtual

Publish specified class attributes.

virtual void DtObjectMgr::publishDirectedInteractions ( DtObjectClassHandle  objectClassHandle,
DtInteractionClassHandleStdSet const &  interactionClassHandles 
)
virtual

Publish the directed interactions for the given object class.

virtual int DtObjectMgr::published ( DtObjectClassHandle  handle)
virtual

Returns 1 if published the class, 0 otherwise.

virtual void DtObjectMgr::purgeDeletedObjects ( )
protectedvirtual

Purge entries for recently deleted objects that have timed out.

virtual void DtObjectMgr::queryAttributeTransportationType ( DtObjectInstanceHandle  theObject,
DtAttributeHandle  theAttribute 
)
virtual
virtual void DtObjectMgr::queryInteractionTransportationType ( DtFederateHandle  theFederate,
DtInteractionClassHandle  theInteraction 
)
virtual
virtual void DtObjectMgr::queryOwnership ( DtObjectInstanceHandle  obj,
DtAttributeHandle  attr 
)
virtual

Implements the queryAttributeOwnership service.

virtual DtObjectInstanceHandle DtObjectMgr::registerObj ( DtObjectClassHandle  theClass,
std::string const &  theObjectInstanceName 
)
virtual

Register a locally simulated object.

virtual DtObjectInstanceHandle DtObjectMgr::registerObj ( DtObjectClassHandle  theClass)
virtual

Register a locally simulated object.

virtual DtRtiObject* DtObjectMgr::registerObj ( DtObjectClassHandle  theClass,
DtObjectInstanceHandle  objHandle,
const char *  name 
)
protectedvirtual

Register a locally simulated object.

virtual void DtObjectMgr::releaseAllAttributes ( DtRtiObject object)
protectedvirtual

Release (unconditionally) all owned and LRC managed attributes Only used during a resign.

virtual void DtObjectMgr::releaseDenied ( DtObjectInstanceHandle  objectHandle,
const DtAttributeHandleSet attrs,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
virtual
virtual void DtObjectMgr::releaseMultipleObjectInstanceNames ( std::set< std::wstring > const &  theObjectInstanceNames)
throw (RTI_API::ObjectInstanceNameNotReserved
)
virtual
virtual void DtObjectMgr::releaseObjectInstanceName ( std::string const &  theObjectInstanceName)
throw (RTI_API::ObjectInstanceNameNotReserved
)
virtual

Release the object instance name.

virtual void DtObjectMgr::releaseOwnership ( DtRtiObject obj,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Releases ownership of the specified attributes to the LRC Used when unpublishing.

virtual DtAttributeHandleSet* DtObjectMgr::releaseResponse ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs 
)
virtual

Respond to an attribute acquisition.

virtual void DtObjectMgr::remotePassiveSubscribe ( DtObjectClassInfo classDesc,
const DtAttributeHandleSet attrs,
DtFederateHandle  fedHandle,
bool  isReplacement 
)
protectedvirtual

Track passive subscriptions ( no effect on advisories )

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

Add a remote subscription to object known database and determine effects on advisories.

virtual void DtObjectMgr::remoteUnsubscribe ( DtObjectClassHandle  classHandle,
const DtAttributeHandleSet attrs,
DtFederateHandle  fedHandle 
)
protectedvirtual

Remove a remote subscription to object known database and determine effects on advisories.

virtual void DtObjectMgr::removeAllObj ( DtObjectInstanceHandle  obj)
virtual

Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.

virtual void DtObjectMgr::removeClassMulticast ( DtObjectClassInfo classDesc,
float  rate = -1.0 
)
protectedvirtual

Recursively add and remove the DM multicast address of this class and all its subclasses The Rate determines which update rate multicast offsets to join and drop A rate less than zero indicates rate should be retrieved from class A rate equal zero indicates no rate should be used and all offsets are affected.

virtual bool DtObjectMgr::removedObjectIsRetained ( DtObjectInstanceHandle  objectHandle)
protectedvirtual

Check list of objects that have been removed via TSO delete and are unknown to the federate but whose delete time has not passed yet.

Return boolean: is the specified object retained?

virtual void DtObjectMgr::removeFromAllLists ( DtRtiObject object)
virtual

Remove an object from all lists.

virtual void DtObjectMgr::removeKnownObj ( DtObjectInstanceHandle  obj)
virtual

Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.

virtual void DtObjectMgr::removeLrcManagedObj ( DtObjectInstanceHandle  obj)
virtual

Add/Remove/Get lrc managed objects (at least one LRC managed attribute) All objects with attributes owned by this LRC must be in this set.

virtual void DtObjectMgr::removeObjectAssociations ( DtRtiObject object)
protectedvirtual

Remove associations to this object (e.g., regions)

virtual void DtObjectMgr::removeObjectInstance ( DtObjectInstanceHandle  objectHandle,
DtRtiApiTagConstRef  tag,
DtFederateHandle  federateHandle 
)
protectedvirtual

Invoke remove object call.

virtual void DtObjectMgr::removeObjectInstance ( DtObjectInstanceHandle  objectHandle,
DtRtiApiTagConstRef  tag,
DtOrderHandle  orderType,
DtRtiApiTime const &  time,
DtFederateHandle  federateHandle,
unsigned long  serialNumber 
)
protectedvirtual

Invoke remove object call.

virtual void DtObjectMgr::removeOwnedObj ( DtObjectInstanceHandle  obj)
virtual

Add/Remove/Get owned objects (at least one owned attribute) All objects with attributes owned by this federate must be in this set.

virtual void DtObjectMgr::removeRequestedOwnershipAssumption ( DtObjectInstanceHandle  objHdl,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Removes the attributes from the list of requested attribute ownership assumption previously invoked.

virtual void DtObjectMgr::requestClassUpdate ( DtObjectClassHandle  theClass,
const DtAttributeHandleSet theAttributes,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag,
DtHandle  regionSetHandle = DtDefaultRegionSetHandle 
)
virtual

Request an attribute value update for a class of objects.

virtual void DtObjectMgr::requestObjectUpdate ( DtObjectInstanceHandle  theObject,
const DtAttributeHandleSet theAttributes,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
virtual

Request an attribute value update for an object.

virtual void DtObjectMgr::resendMultiRegister ( DtObjectClassHandle  classHandle)
virtual

Re-sends register information for all objects of a specific class if DDM is active then this information could include region and region association information.

Overridden in DtObjectDataDistMgr

virtual void DtObjectMgr::resendRegister ( DtRtiObject obj,
DtBitMask sendMask = 0 
)
virtual

Re-sends register information, if DDM is active then this information could include region and region association information.

Overridden in DtObjectDataDistMgr

virtual void DtObjectMgr::reserveMultipleObjectInstanceName ( std::set< std::wstring > const &  theObjectInstanceNames)
virtual

Reserve multiple object instance names.

virtual void DtObjectMgr::reserveObjectInstanceName ( std::string const &  theObjectInstanceName)
virtual

Reserve object instance name.

virtual void DtObjectMgr::resetNameReservation ( std::string  objectName)
protectedvirtual

Reset a reserved name to not reserved.

virtual void DtObjectMgr::resetNameUsed ( std::string  objectName)
protectedvirtual

Reset an in use reserved name to not used (does not change reserve status)

virtual void DtObjectMgr::resetOwner ( DtFederateHandle  fedHandle,
DtObjectInstanceHandle  objHandle 
)
protectedvirtual

Reset the owner of the object.

virtual bool DtObjectMgr::restore ( DtRtiSaveFile file)
virtual

Restore the state information from the given file.

virtual bool DtObjectMgr::restoreInProgress ( ) const
virtual

Note: The advisory switches are disabled by a restore in progress.

They are restored to saved state upon completion of restore. Set/Get restore in progress status

virtual bool DtObjectMgr::restoreObjectList ( DtRtiSaveFile file)
protectedvirtual

restore the list of known and owned objects

virtual void DtObjectMgr::retainTsoDeletedObj ( DtRtiObject obj,
DtRtiApiTime const &  time 
)
protectedvirtual

TSO deleted object was prematurely deleted when regulation disabled Hold onto it until deletion time passes in order to process discovery.

virtual void DtObjectMgr::retainTsoRemovedObj ( DtRtiObject obj,
DtRtiApiTime const &  time 
)
protectedvirtual

TSO removed object may be discovered by other federates but should not be rediscovered by this federate.

Hold onto it until deletion time passes in order to prevent rediscovery

virtual bool DtObjectMgr::save ( DtRtiSaveFile file)
virtual

DDM.

Save the state information to the given file

virtual bool DtObjectMgr::saveObjectList ( DtRtiSaveFile file)
protectedvirtual

save out the list of of known and owned objects

virtual unsigned long DtObjectMgr::savePacketLength ( )
protectedvirtual

Return the length of buffer needed to save the state data.

virtual void DtObjectMgr::sendAttrQueryFoundMsg ( DtFederateHandle  targetFed,
DtObjectInstanceHandle  objHand,
const DtAttributeHandle  attr,
DtTransportType  transType 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendBestEffortUpdateMsg ( DtRtiObject obj,
const DtAhvpBase theAttrs,
DtOrderHandle  orderType,
DtRtiApiTime const *  theTime,
DtRtiApiTagConstRef  tag,
unsigned long  serialNumber,
const MAKRti::DtInetAddr &  destAddr,
unsigned int  offset = 0 
)
protectedvirtual

Send various types of RTI messages.

virtual unsigned long DtObjectMgr::sendDeleteMsg ( DtObjectInstanceHandle  handle,
DtOrderHandle  orderType,
DtRtiApiTime const *  theTime,
DtRtiApiTagConstRef  tag 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendDiscoverMsg ( DtObjectInstanceHandle  objHandle,
DtObjectClassHandle  classHandle,
DtFederateHandle  owner 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendDiscoverMsg ( DtObjectInstanceHandle  objHandle,
DtObjectClassHandle  classHandle,
DtFederateHandle  owner,
DtBitMask fedHandles 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendInterQueryFoundMsg ( DtFederateHandle  targetFed,
DtObjectInstanceHandle  objHand,
const DtInteractionClassHandle  handle,
DtTransportType  transType 
)
protectedvirtual

Send various types of RTI messages.

void DtObjectMgr::sendInterQueryMsg ( DtFederateHandle  targetFed,
DtInteractionClassHandle  handle,
DtFederateHandle  sendingFed 
)
protected

Send various types of RTI messages.

virtual void DtObjectMgr::sendLocalDeleteMsg ( DtObjectInstanceHandle  handle)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendNotDiscoveredMsgForSmartForwarding ( DtObjectInstanceHandle  handle,
const DtObjectClassInfo classInfo,
DtFederateHandle  federate,
const DtAttributeHandleSet attributes = 0 
)
virtual

Send a message removing this federate from remote federate's smart forwarding list for the given object.

virtual void DtObjectMgr::sendNotDiscoveredMsgForSmartForwarding ( DtObjectInstanceHandle  handle,
const DtObjectClassInfo classInfo,
DtFederateHandle  federate,
const DtAhvps attributes 
)
virtual
virtual void DtObjectMgr::sendOwnershipMsg ( DtOwnerMsgKind  kind,
DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
DtFederateHandle  targetFed = 0,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendOwnershipMsg ( DtOwnerMsgKind  kind,
DtObjectInstanceHandle  objHand,
const DtAttributeHandle  attr,
DtFederateHandle  targetFed = 0,
DtRtiApiTagConstRef  tag = DtRtiMsg::theDefaultTag 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendPendingDiscoveries ( )
protectedvirtual

Send pending discoveries.

virtual void DtObjectMgr::sendPendingRegister ( )
protectedvirtual

Send pending Register.

virtual void DtObjectMgr::sendPendingRemovals ( )
protectedvirtual

Send pending object removals.

virtual void DtObjectMgr::sendPendingRequestAttributes ( )
protectedvirtual

Send pending request attribute value.

virtual void DtObjectMgr::sendPendingStartReg ( )
protectedvirtual

Send pending startRegistration.

virtual void DtObjectMgr::sendPendingStartUpdates ( )
protectedvirtual

Send pending startUpdates.

virtual void DtObjectMgr::sendPendingStopReg ( )
protectedvirtual

Send pending stopRegistration.

virtual void DtObjectMgr::sendPendingStopUpdates ( )
protectedvirtual

Send pending stopUpdates.

virtual void DtObjectMgr::sendPendingSubscription ( )
protectedvirtual

Send pending subscription class retransmissions.

virtual void DtObjectMgr::sendPublishMsg ( DtObjectClassHandle  handle,
const DtAttributeHandleSet theSet 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendRegister ( DtRtiObject obj)
virtual

Sends register information, if DDM is active then this information could include region and region association information.

Overridden in DtObjectDataDistMgr

virtual void DtObjectMgr::sendRegisterMsg ( DtRtiObject object,
DtBitMask sendMask = 0 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendRegisterMsg ( DtRtiMsg msg,
DtRtiObject object,
DtBitMask sendMask = 0 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendReliableUpdateMsg ( DtRtiObject obj,
const DtAhvpBase theAttrs,
DtOrderHandle  orderType,
DtRtiApiTime const *  theTime,
DtRtiApiTagConstRef  tag,
unsigned long  serialNumber 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendRemoveDiscoverMsg ( DtObjectInstanceHandle  objHandle,
DtObjectClassHandle  classHandle,
DtFederateHandle  fedHandle 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendRequestDiscoverMsg ( DtObjectInstanceHandle  objHandle,
DtObjectClassHandle  classHandle 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendRequestMsg ( DtRequestType  type,
unsigned long  idOrClass,
const DtAttributeHandleSet theSet,
DtRtiApiTagConstRef  tag,
bool  anonymous,
DtHandle  regionSetHandle = DtRtiMsg::theDefaultRegionSetHandle,
DtFederateHandle  fedHandle = 0 
)
virtual

Send a request message for the attributes by object or class.

Need to make public to support autoprovide.

virtual void DtObjectMgr::sendReserveNameMsg ( std::string const &  theObjectInstanceName)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendSubscribeMsg ( DtObjectClassHandle  theObj,
bool  isPassive,
bool  replacement,
const DtAttributeHandleSet theSet,
DtFederateHandle  fedHandle 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendSubscribeMsg ( DtObjectClassHandle  theObj,
bool  isPassive,
bool  replacement,
const DtAttributeHandleSet theSet,
DtBitMask sendMask = 0 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendUnpublishMsg ( DtObjectInstanceHandle  handle,
const DtAttributeHandleSet theSet 
)
protectedvirtual

Send various types of RTI messages.

virtual void DtObjectMgr::sendUnsubscribeMsg ( DtObjectClassHandle  handle,
const DtAttributeHandleSet theSet 
)
protectedvirtual

Send various types of RTI messages.

virtual unsigned long DtObjectMgr::sendUpdate ( DtObjectInstanceHandle  theObject,
const DtAhvps theAttrs,
DtRtiApiTime const *  theTime,
DtRtiApiTagConstRef  tag 
)
virtual

Implements update attribute values Checks attributes definition and ownership Return retraction handle serial number.

virtual unsigned long DtObjectMgr::sendUpdate ( DtRtiObject theObject,
const DtAhvps theAttrs,
DtRtiApiTime const *  theTime,
DtRtiApiTagConstRef  tag 
)
virtual

Generate and transmit update attribute value messages Return retraction handle serial number.

virtual void DtObjectMgr::sendUpdateMessage ( DtUpdateMsg update,
DtObjectClassInfo classDesc,
DtUpdateType  updateType,
MAKRti::DtTransportType  trans,
unsigned int  numberAttrs,
MAKRti::DtInetAddr  destAddr = DtInetAddr::inaddrAny(),
unsigned int  offset = 0 
)
protectedvirtual

Send update message.

virtual void DtObjectMgr::setAttributeOrderType ( DtObjectInstanceHandle  theObject,
const DtAttributeHandleSet theAttributes,
MAKRti::DtOrderType  theType 
)
virtual

Set the order type of the attribute instances.

virtual void DtObjectMgr::setAttributeRelevanceSwitch ( bool  enableSwitch)
virtual

Set/Get value of attributeRelevanceAdvisorySwitch.

virtual void DtObjectMgr::setAttributeScopeSwitch ( bool  enableSwitch)
virtual

Set/Get value of attributeScopeAdvisorySwitch.

virtual void DtObjectMgr::setAttributeTransportType ( DtObjectInstanceHandle  theObject,
const DtAttributeHandleSet theAttributes,
MAKRti::DtTransportType  theType 
)
virtual

Set the transport type of the attribute instances.

virtual void DtObjectMgr::setClassRelevanceSwitch ( bool  enableSwitch)
virtual

Set/Get value of classRelevanceAdvisorySwitch.

static void DtObjectMgr::setCreatorFunction ( DtObjectMgrCreator  creator)
static

Register a creator function.

When set, it will be used to create the Object Manager.

virtual void DtObjectMgr::setDefaultClassAttributeOrderType ( DtObjectClassHandle  theObjectClass,
const DtAttributeHandleSet theAttributes,
MAKRti::DtOrderType  theType 
)
virtual

Set the default transport type of the class attributes.

virtual void DtObjectMgr::setDefaultClassAttributeTransportationType ( DtObjectClassHandle  theObjectClass,
const DtAttributeHandleSet theAttributes,
MAKRti::DtTransportType  theType 
)
virtual

Set the default transport type of the class attributes.

virtual void DtObjectMgr::setDiscoveredClass ( DtRtiObject object,
DtFederateHandle  federateHandle,
DtObjectClassHandle  classHandle 
)
protectedvirtual

Set the remote federate's discovered class and update the object's remote subscription information.

static void DtObjectMgr::setInternalCreatorFunction ( DtObjectMgrCreator  fn)
static

Register alternate internal creators.

The RTI proper uses this function to choose from various internal implementations. This function should not be used by plugins as the assignment may be overridden internally. Use the setCreatorFunction.

virtual void DtObjectMgr::setRestoreInProgress ( bool  isRestore)
virtual

Note: The advisory switches are disabled by a restore in progress.

They are restored to saved state upon completion of restore. Set/Get restore in progress status

virtual void DtObjectMgr::subscribe ( DtObjectClassHandle  theClass,
const DtAttributeHandleSet attributeList,
bool  active,
MAKRti::DtString  updateRateDesignator 
)
virtual

Subscribe specified class attributes.

virtual int DtObjectMgr::subscribed ( DtObjectClassHandle  handle)
virtual

Returns 1 if subscribed to the class, 0 otherwise.

virtual void DtObjectMgr::subscribeDirectedInteractions ( DtObjectClassHandle  objectClassHandle,
DtInteractionClassHandleStdSet const &  interactionClassHandles,
bool  universally 
)
virtual

Subscribe the directed interactions for the given object class, strictly directed or universally as indicated.

void DtObjectMgr::testResign ( RTI_API::ResignAction const &  theAction)

Called when resigning from a federation to test conditions and to delete owned objects.

virtual void DtObjectMgr::throwIfAcquisitionPending ( DtObjectClassHandle  classHand,
const DtAttributeHandleSet attrs 
)
protectedvirtual

If an acquisition request is pending for an attributes in attrs for any objects known at class classHand, throw RTI::OwnershipAcquisitionPending.

virtual void DtObjectMgr::turnUpdatesOff ( DtRtiObject const &  object,
DtAttributeHandleSet const &  oldOnSet 
)
virtual

Turn updates off for any attribute now off but it is in old on set.

virtual void DtObjectMgr::turnUpdatesOn ( DtRtiObject const &  object,
DtAttributeHandleSet const &  oldOnSet 
)
virtual

Turn updates on for any attribute now on but it is not in old on set.

virtual DtObjectInstanceHandle DtObjectMgr::uniqueHandle ( )
virtual

Returns an ObjectHandle that is unique across the federation.

Uniqueness isn't truly guaranteed unless you're using rtiexec mode.

virtual void DtObjectMgr::unpublishAttributes ( DtObjectClassHandle  theClass,
DtAttributeHandleSet const &  attributeList 
)
virtual

Explicit unpublish of specified attributes.

virtual void DtObjectMgr::unpublishAttributes ( DtObjectClassInfo classDesc,
DtAttributeHandleSet const &  attributeList,
bool  implicitlyUnpublishPrivilegeToDelete 
)
virtual

Explicit unpublish of specified attributes Except privilege to delete is implicit if so designated.

virtual void DtObjectMgr::unpublishClass ( DtObjectClassHandle  theObject)
virtual

Unpublishes all attributes but privilege to delete is implicit.

virtual void DtObjectMgr::unpublishDirectedInteractions ( DtObjectClassHandle  objectClass)
virtual

Unpublish the directed interactions for the given object class.

virtual void DtObjectMgr::unpublishDirectedInteractions ( DtObjectClassHandle  objectClass,
DtInteractionClassHandleStdSet const &  interactions 
)
virtual

Unpublish the directed interactions for the given object class.

virtual void DtObjectMgr::unsubscribeAttributes ( DtObjectClassHandle  theClass,
DtAttributeHandleSet const &  attributeList 
)
virtual

Unsubscribe specified class attributes.

virtual void DtObjectMgr::unsubscribeAttributes ( DtObjectClassInfo classDesc,
DtAttributeHandleSet const &  attributeList 
)
virtual

Unsubscribe specified class attributes.

virtual void DtObjectMgr::unsubscribeClass ( DtObjectClassHandle  theClass)
virtual

Unsubscribe from all attributes of specified class.

virtual void DtObjectMgr::unsubscribeDirectedInteractions ( DtObjectClassHandle  objectClass)
virtual

Unsubscribe the directed interactions for the given object class.

virtual void DtObjectMgr::unsubscribeDirectedInteractions ( DtObjectClassHandle  objectClass,
DtInteractionClassHandleStdSet const &  interactions 
)
virtual

Unsubscribe the directed interactions for the given object class.

virtual bool DtObjectMgr::useHlaNamePrefix ( )
virtual

Get switch to use HLA prefix for object names.

Member Data Documentation

DtAddrMap DtObjectMgr::myAddrMap
protected

Map of routing addresses by region set handle.

bool DtObjectMgr::myAttributeRelevanceSwitch
protected

Advisory switches.

bool DtObjectMgr::myAttributeScopeSwitch
protected

Advisory switches.

bool DtObjectMgr::myClassRelevanceSwitch
protected

Advisory switches.

MAKRti::DtClock DtObjectMgr::myClock
protected

Clock for timing.

std::set<DtRtiMsgKind> DtObjectMgr::myConstrainedDeleteKinds
protected
std::set<DtRtiMsgKind> DtObjectMgr::myConstrainedUpdateKinds
protected
std::map<DtObjectInstanceHandle, MAKRti::DtTime> DtObjectMgr::myDeletedObjects
protected

Set of objects that have been recently deleted that will not be discovered via update.

std::set<std::string> DtObjectMgr::myFailedNames
protected

Reservation of these names failed (i.e., reserved by another federate).

DtFederateMgr* DtObjectMgr::myFederateMgr
protected

Access to the federate manager.

bool DtObjectMgr::myForceBestEffort
protected

Send everything best effort.

DtHandle DtObjectMgr::myFreeObjHandle
protected

The next free object handle.

MAKRti::DtString DtObjectMgr::myHlaNamePrefix
protected

The HLA object instance name prefix.

DtObjectInstanceHandleStdSet DtObjectMgr::myIgnoreObjects
protected

Set of object handles whose next updates should be ignored.

bool DtObjectMgr::myIsJoined
protected

Manager has performed join processing.

DtRtiObjectMap DtObjectMgr::myKnownObjs
protected

List of known objects by handle.

std::map<MAKRti::DtString, DtRtiObject*> DtObjectMgr::myKnownObjsByName
protected

List of known objects by name.

DtObjectInstanceHandleStdSet DtObjectMgr::myLocalDeletedObjects
protected

Post processing lists.

DtRtiObjectMap DtObjectMgr::myLrcManagedObjs
protected

List of LRC owned objects by handle.

std::map<MAKRti::DtString, DtRtiObject*> DtObjectMgr::myLrcManagedObjsByName
protected

List of LRC owned objects by name.

DtTime DtObjectMgr::myNextPendingDiscTime
protected

Next time we should send pending discovery messages.

DtRtiObjectMap DtObjectMgr::myObjects
protected

List of all objects by handle.

std::map<MAKRti::DtString, DtRtiObject*> DtObjectMgr::myObjectsByName
protected

List of all objects by name.

DtRtiObjectMap DtObjectMgr::myOwnedObjs
protected

List of owned objects by handle.

std::map<MAKRti::DtString, DtRtiObject*> DtObjectMgr::myOwnedObjsByName
protected

List of owned objects by name.

DtPendingConfirmTransport DtObjectMgr::myPendingConfirmTransportChange
protected

Post processing lists.

DtFederateToPendingObjDiscMap DtObjectMgr::myPendingDiscoveries
protected
DtObjectClassMaskMap DtObjectMgr::myPendingDiscoveriesMaskList
protected
DtPendingRequestAttrMap DtObjectMgr::myPendingDivestNotifications
protected

Post processing lists.

DtObjectInstanceHandleStdSet DtObjectMgr::myPendingInstRegisterList
protected

Post processing lists.

DtFederateToPendingObjDiscMap DtObjectMgr::myPendingNonDiscoveries
protected
DtObjectClassMaskMap DtObjectMgr::myPendingNonDiscoveriesMaskList
protected
DtPendingRequestAttrMap DtObjectMgr::myPendingOwnershipRequest
protected

Post processing lists.

DtObjectClassHandleStdSet DtObjectMgr::myPendingRegisterList
protected

Post processing lists.

DtObjectClassMaskMap DtObjectMgr::myPendingRegisterMaskList
protected

Post processing lists.

MAKRti::DtList DtObjectMgr::myPendingRemovals
protected

Post processing lists.

DtPendingRequestAttrMap DtObjectMgr::myPendingRequestAttrs
protected

Post processing lists.

DtObjectClassHandleStdSet DtObjectMgr::myPendingStartRegList
protected

Post processing lists.

DtObjInstAttrSetPairList DtObjectMgr::myPendingStartUpdatesList
protected

Post processing lists.

DtObjectClassHandleStdSet DtObjectMgr::myPendingStopRegList
protected

Post processing lists.

DtObjClassAttrSetPairList DtObjectMgr::myPendingStopUpdatesList
protected

Post processing lists.

DtPendingRequestAttrMap DtObjectMgr::myRequestedAttributeAssumptions
protected

Post processing lists.

std::set<std::string> DtObjectMgr::myReservedNames
protected

These names are reserved by this federate but have not been used.

bool DtObjectMgr::myRestoreInProgress
protected

Status of restore.

DtObjectClassHandleStdSet DtObjectMgr::myRetransmitSubClass
protected

Post processing lists.

DtObjectClassMaskMap DtObjectMgr::myRetransmitSubClassMask
protected

Post processing lists.

bool DtObjectMgr::myReuseIds
protected

Unique object IDs have been exhausted, attempt to reuse IDs.

const int DtObjectMgr::myShiftForFederateHandle
protected
std::set<std::string> DtObjectMgr::myUsedNames
protected

These names have been used by this federate to register an object instance.

DtObjectMgrCreator DtObjectMgr::theCreator
staticprotected

The plugin creator.

DtObjectMgrCreator DtObjectMgr::theInternalCreator
staticprotected

The internal creator.


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)