MAK RTIspy API Documentation for HLA 1516
 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 subscribe (DtObjectClassHandle theClass, const DtAttributeHandleSet &attributeList, bool active)
 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 reserveObjectInstanceName (std::string const &theObjectInstanceName)
 Reserve object instance name. More...
 
virtual DtObjectInstanceHandle registerObj (DtObjectClassHandle theClass, const char *name)
 Register a locally simulated object. More...
 
virtual DtObjectInstanceHandle registerObj (DtObjectClassHandle theClass)
 Register a locally simulated object. More...
 
virtual unsigned long deleteObj (DtObjectInstanceHandle objectID, RTI::FedTime const *theTime, char const *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, char const *tag=DtRtiMsg::theDefaultTag)
 Request an attribute value update for an object. More...
 
virtual void requestClassUpdate (DtObjectClassHandle theClass, const DtAttributeHandleSet &theAttributes, char const *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, RTI::FedTime const *theTime, char const *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, RTI::FedTime const *theTime, char const *tag)
 Generate and transmit update attribute value messages Return retraction handle serial number. More...
 
virtual void acquireAttrs (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &desiredAttributes, bool onlyIfAvail, char const *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, char const *tag=DtRtiMsg::theDefaultTag)
 Process a 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 void queryOwnership (DtObjectInstanceHandle obj, DtAttributeHandle attr)
 Implements the queryAttributeOwnership service. 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 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 setClassRelevanceSwitch (bool enableSwitch)
 Set/Get value of classRelevanceAdvisorySwitch. More...
 
virtual bool classRelevanceSwitch ()
 
virtual void setAttributeRelevanceSwitch (bool enableSwitch)
 Set/Get value of attributeRelevanceAdvisorySwitch. More...
 
virtual bool attributeRelevanceSwitch ()
 
virtual void setAttributeScopeSwitch (bool enableSwitch)
 Set/Get value of attributeScopeAdvisorySwitch. More...
 
virtual bool attributeScopeSwitch ()
 
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 setAttributeTransportType (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, MAKRti::DtTransportType theType)
 Set the transport type of the attribute instance. More...
 
virtual void setAttributeOrderType (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, MAKRti::DtOrderType theType)
 Set the order type of the attribute instance. 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 DtRtiObjectknownObj (const char *name)
 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...
 
void testResign (RTI::ResignAction const &theAction)
 Called when resigning from a federation to test conditions and to delete owned objects. More...
 
void prepareToResign (RTI::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 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 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...
 

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::set
< DtObjectClassHandle
DtObjectClassHandleSet
 
typedef std::set
< DtObjectInstanceHandle
DtObjectInstanceHandleSet
 
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::set
< DtObjectInstanceHandle
DtObjHandleSet
 Pending discoveries and non-discoveries. More...
 
typedef std::map
< DtObjectClassHandle,
DtObjHandleSet
DtClassToPendingObjDiscMap
 
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, char const *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, char const *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, char const *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, DtAttributeHandle attr, DtFederateHandle requestor)
 Process a remote attribute ownership queury. More...
 
virtual void processNotifyAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, char const *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, char const *tag, DtHandle hand)
 Give the supplied attributes to the local RTI component. 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 purgeDeletedObjects ()
 Purge entries for recently deleted objects that have timed out. 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 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, RTI::FedTime 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, RTI::FedTime 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, DtObjectInstanceHandle objectHandle, DtAhvps const &reflectedValues, DtTransportHandle transportType, DtOrderHandle sentOrder, char const *tag=0, RTI::FedTime const *time=0, unsigned long serialNumber=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 removeFromNotifiedDivestitures (DtObjectInstanceHandle objHdl, const DtAttributeHandleSet &attrs)
 Removes the attributes from the list of attribute divestitures. 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 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 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 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...
 

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 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...
 
DtObjHandleSet 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
 
DtObjectClassHandleSet myRetransmitSubClass
 Post processing lists. More...
 
DtObjectClassMaskMap myRetransmitSubClassMask
 Post processing lists. More...
 
DtObjectInstanceHandleSet myLocalDeletedObjects
 Post processing lists. More...
 
DtObjInstAttrSetPairList myPendingStartUpdatesList
 Post processing lists. More...
 
DtObjClassAttrSetPairList myPendingStopUpdatesList
 Post processing lists. More...
 
DtObjectClassHandleSet myPendingStartRegList
 Post processing lists. More...
 
DtObjectClassHandleSet myPendingStopRegList
 Post processing lists. More...
 
DtObjectClassHandleSet myPendingRegisterList
 Post processing lists. More...
 
DtObjectClassMaskMap myPendingRegisterMaskList
 Post processing lists. More...
 
DtObjectInstanceHandleSet 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 myNotifiedDivestitures
 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

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

Object manager creator type.

Pending discoveries and non-discoveries.

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,
char const *  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 ( )
virtual
virtual bool DtObjectMgr::attributeScopeSwitch ( )
virtual
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 bool DtObjectMgr::classRelevanceSwitch ( )
virtual
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.

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,
RTI::FedTime const *  theTime,
char const *  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,
char const *  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 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::invokePendingDivestNotification ( )
protectedvirtual

Invoke pending divest notification.

virtual void DtObjectMgr::invokeReflect ( DtFederateHandle  federateHandle,
DtObjectInstanceHandle  objectHandle,
DtAhvps const &  reflectedValues,
DtTransportHandle  transportType,
DtOrderHandle  sentOrder,
char const *  tag = 0,
RTI::FedTime const *  time = 0,
unsigned long  serialNumber = 0 
)
protectedvirtual

Invoke the reflect attribute values update call.

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 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 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::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,
char const *  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,
char const *  tag = DtRtiMsg::theDefaultTag 
)
protectedvirtual

Process a remote attribute divestiture.

virtual void DtObjectMgr::processGiveToLrc ( DtObjectInstanceHandle  objHand,
const DtAttributeHandleSet attrs,
char const *  tag,
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::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,
char const *  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::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::processQueryOwner ( DtObjectInstanceHandle  objHand,
DtAttributeHandle  attr,
DtFederateHandle  requestor 
)
protectedvirtual

Process a remote attribute ownership queury.

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,
char const *  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 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::queryOwnership ( DtObjectInstanceHandle  obj,
DtAttributeHandle  attr 
)
virtual

Implements the queryAttributeOwnership service.

virtual DtObjectInstanceHandle DtObjectMgr::registerObj ( DtObjectClassHandle  theClass,
const char *  name 
)
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::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::removeFromNotifiedDivestitures ( DtObjectInstanceHandle  objHdl,
const DtAttributeHandleSet attrs 
)
protectedvirtual

Removes the attributes from the list of attribute divestitures.

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::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::requestClassUpdate ( DtObjectClassHandle  theClass,
const DtAttributeHandleSet theAttributes,
char const *  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,
char const *  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::reserveObjectInstanceName ( std::string const &  theObjectInstanceName)
virtual

Reserve object instance name.

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,
RTI::FedTime 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,
RTI::FedTime 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::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::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::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::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::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,
RTI::FedTime const *  theTime,
char const *  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,
RTI::FedTime const *  theTime,
char const *  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 instance.

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

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::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 
)
virtual

Subscribe specified class attributes.

virtual int DtObjectMgr::subscribed ( DtObjectClassHandle  handle)
virtual

Returns 1 if subscribed to the class, 0 otherwise.

void DtObjectMgr::testResign ( RTI::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::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 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.

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

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

DtPendingRequestAttrMap DtObjectMgr::myNotifiedDivestitures
protected

Post processing lists.

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.

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

Post processing lists.

DtObjectInstanceHandleSet DtObjectMgr::myPendingInstRegisterList
protected

Post processing lists.

DtFederateToPendingObjDiscMap DtObjectMgr::myPendingNonDiscoveries
protected
DtObjectClassMaskMap DtObjectMgr::myPendingNonDiscoveriesMaskList
protected
DtObjectClassHandleSet 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.

DtObjectClassHandleSet DtObjectMgr::myPendingStartRegList
protected

Post processing lists.

DtObjInstAttrSetPairList DtObjectMgr::myPendingStartUpdatesList
protected

Post processing lists.

DtObjectClassHandleSet DtObjectMgr::myPendingStopRegList
protected

Post processing lists.

DtObjClassAttrSetPairList DtObjectMgr::myPendingStopUpdatesList
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.

DtObjectClassHandleSet 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 Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)