![]() |
MAK RTIspy API Documentation for HLA Evolved
|
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. | |
| typedef std::map < DtObjectInstanceHandle, DtAttributeHandleSet > | DtPendingRequestAttrMap |
| Map of requested attributes. | |
Public Member Functions | |
| virtual | ~DtObjectMgr () |
| Destructor. | |
| virtual void | postJoinInit () |
| Post join processing. All managers shall have been created and initialized. | |
| virtual bool | isPostJoined () const |
| Return bool: Was the post join initialization perfomerd? | |
| virtual DtFederateMgr * | federateMgr () |
| Access to the federate manager. | |
| virtual DtFederateMgr * | federateMgr () const |
| virtual DtConnectionMgr * | connectMgr () |
| Returns pointer to network connection mgr. | |
| virtual DtConnectionMgr * | connectMgr () const |
| virtual bool | useHlaNamePrefix () |
| Get switch to use HLA prefix for object names. | |
| virtual DtObjectInstanceHandle | objectHandle (const char *name) |
| Get objectHandle from name. | |
| virtual const char * | objectName (DtObjectInstanceHandle handle) |
| Get object name from handle. | |
| virtual DtObjectClassHandle | objectClass (DtObjectInstanceHandle handle) |
| Get an object's class. | |
| virtual int | subscribed (DtObjectClassHandle handle) |
| Returns 1 if subscribed to the class, 0 otherwise. | |
| virtual int | published (DtObjectClassHandle handle) |
| Returns 1 if published the class, 0 otherwise. | |
| virtual void | publish (DtObjectClassHandle theObject, const DtAttributeHandleSet &attributeList) |
| Publish specified class attributes. | |
| virtual void | unpublishClass (DtObjectClassHandle theObject) |
| Unpublishes all attributes but privilege to delete is implicit. | |
| virtual void | unpublishAttributes (DtObjectClassHandle theClass, DtAttributeHandleSet const &attributeList) |
| Explicit unpublish of specified attributes. | |
| virtual void | unpublishAttributes (DtObjectClassInfo &classDesc, DtAttributeHandleSet const &attributeList, bool implicitlyUnpublishPrivilegeToDelete) |
| Explicit unpublish of specified attributes Except privilege to delete is implicit if so designated. | |
| virtual void | subscribe (DtObjectClassHandle theClass, const DtAttributeHandleSet &attributeList, bool active) |
| Subscribe specified class attributes. | |
| virtual void | unsubscribeClass (DtObjectClassHandle theClass) |
| Unsubscribe from all attributes of specified class. | |
| virtual void | unsubscribeAttributes (DtObjectClassHandle theClass, DtAttributeHandleSet const &attributeList) |
| Unsubscribe specified class attributes. | |
| virtual void | unsubscribeAttributes (DtObjectClassInfo &classDesc, DtAttributeHandleSet const &attributeList) |
| Unsubscribe specified class attributes. | |
| virtual DtObjectInstanceHandle | registerObj (DtObjectClassHandle theClass, const char *name) |
| Register a locally simulated object. | |
| virtual DtObjectInstanceHandle | registerObj (DtObjectClassHandle theClass) |
| Register a locally simulated object. | |
| virtual unsigned long | deleteObj (DtObjectInstanceHandle objectID, RTI::FedTime const *theTime, char const *theTag) |
| Delete a locally simulated object Return retraction handle serial number. | |
| virtual void | localDeleteObj (DtObjectInstanceHandle obj) |
| Implements the localDeleteObjectInstance service. | |
| virtual void | requestObjectUpdate (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, char const *tag=DtRtiMsg::theDefaultTag) |
| Request an attribute value update for an object. | |
| 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. | |
| 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. | |
| 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. | |
| virtual void | acquireAttrs (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &desiredAttributes, bool onlyIfAvail, char const *tag=DtRtiMsg::theDefaultTag) |
| Process an attribute acquisition. | |
| virtual void | cancelAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs) |
| Cancel an attribute acquisition. | |
| virtual void | divestOwnership (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtDivestCondition condition, char const *tag=DtRtiMsg::theDefaultTag) |
| Process a attribute divestiture. | |
| virtual void | cancelDivest (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs) |
| Cancel an attribute divestiture. | |
| virtual DtAttributeHandleSet * | releaseResponse (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs) |
| Respond to an attribute acquisition. | |
| virtual void | removeFromAllLists (DtRtiObject *object) |
| Remove an object from all lists. | |
| virtual void | queryOwnership (DtObjectInstanceHandle obj, DtAttributeHandle attr) |
| Implements the queryAttributeOwnership service. | |
| virtual bool | isAcquistionPending () |
| Return true if ownership acquistion is pending for remote attrs. | |
| virtual void | autoProvideAttrValueUpdate () |
| Invoke provide for all owned attributes. | |
| virtual void | sendRegister (DtRtiObject *obj) |
| Sends register information, if DDM is active then this information could include region and region association information. | |
| virtual void | resendRegister (DtRtiObject *obj) |
| Re-sends register information, if DDM is active then this information could include region and region association information. | |
| virtual void | addPendingStartUpdates (DtObjectInstanceHandle obj, const DtAttributeHandleSet &attributeList) |
| Add pending startUpdates that will get called during the next tick. | |
| virtual void | addPendingStopUpdates (DtObjectClassHandle theClass, const DtAttributeHandleSet &attributeList) |
| Add pending stopUpdates that will get called during the next tick. | |
| virtual void | addPendingStartReg (DtObjectClassHandle theClass) |
| Add pending startRegistration that will get processed during the next tick. | |
| virtual void | addPendingStopReg (DtObjectClassHandle theClass) |
| Add pending stopRegistration that will get processed during the next tick. | |
| virtual void | addPendingRegister (DtObjectClassHandle theClass) |
| Add pending Register that will get processed during the next tick. | |
| virtual void | addPendingSubscription (DtObjectClassHandle theClass) |
| Add pending subscription class retransmissions that will get processed during next tick. | |
| virtual void | addPendingRegisterForObject (DtObjectInstanceHandle objHandle) |
| Add pending Register for the given object that will get processed during next tick. | |
| virtual void | addPendingRemoval (DtObjectInstanceHandle id) |
| Add pending object removals that will get processed during the next tick. | |
| virtual void | addPendingRequestAttrs (DtObjectInstanceHandle objectHandle, DtAttributeHandleSet attributes) |
| Add pending request attribute value that will get processed during the next tick. | |
| virtual void | addPendingDivestNotification (DtObjectInstanceHandle objectHandle, DtAttributeHandleSet attributes) |
| Add pending divest notification that will get processed during the next tick. | |
| virtual void | addPendingDiscovery (DtObjectInstanceHandle objectHandle, DtObjectClassHandle classHandle, DtFederateHandle federate, bool isNonDiscovery) |
| Add pending discovery/non-discovery. | |
| virtual void | processResign (const DtResignMsg &msg) |
| Process the resign message. | |
| virtual void | preTick () |
| Called before processing messages in RTI ambassador tick / evoke callbacks. | |
| virtual void | postTick () |
| Called after processing messages in RTI ambassador tick / evoke callbacks. | |
| virtual void | setClassRelevanceSwitch (bool enableSwitch) |
| Set/Get value of classRelevanceAdvisorySwitch. | |
| virtual bool | classRelevanceSwitch () |
| virtual void | setAttributeRelevanceSwitch (bool enableSwitch) |
| Set/Get value of attributeRelevanceAdvisorySwitch. | |
| virtual bool | attributeRelevanceSwitch () |
| virtual void | setAttributeScopeSwitch (bool enableSwitch) |
| Set/Get value of attributeScopeAdvisorySwitch. | |
| 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. | |
| virtual void | turnUpdatesOff (DtRtiObject const &object, DtAttributeHandleSet const &oldOnSet) |
| Turn updates off for any attribute now off but it is in old on set. | |
| virtual DtObjectInstanceHandle | uniqueHandle () |
| Returns an ObjectHandle that is unique across the federation. | |
| 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. | |
| 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. | |
| virtual DtRtiObject * | processNewObj (DtObjectInstanceHandle objHand, DtObjectClassHandle realClass, const char *name, const DtAttributeHandleSet &inSet, DtHandle regSetHandle, DtFederateHandle sourceFederate) |
| Assumes we have not yet discovered objHand. | |
| virtual DtObjectClassInfo * | firstSubscribedClass (DtObjectClassInfo *classDesc, DtHandle regSetHandle) |
| Returns most specific superclass of class, to which we are subscribed. | |
| virtual int | numObjectsOwned () |
| return the number of owned objects | |
| virtual void | setAttributeTransportType (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, MAKRti::DtTransportType theType) |
| Set the transport type of the attribute instance. | |
| virtual void | setAttributeOrderType (DtObjectInstanceHandle theObject, const DtAttributeHandleSet &theAttributes, MAKRti::DtOrderType theType) |
| Set the order type of the attribute instance. | |
| virtual bool | save (DtRtiSaveFile &file) |
| DDM. | |
| virtual void | prepareToRestore () |
| Prepare the state information to be restored (i.e., clear out existing data). | |
| virtual bool | restore (DtRtiSaveFile &file) |
| Restore the state information from the given file. | |
| 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. | |
| 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. | |
| virtual DtRIDParameters * | params () |
| Return pointer to RID parameters. | |
| virtual DtRIDParameters * | params () const |
| Return pointer to RID parameters. | |
| virtual DtFomClassMgr * | fom () |
| Return fom pointer. | |
| virtual DtFomClassMgr * | fom () const |
| Return fom pointer. | |
| virtual void | addAllObj (DtRtiObject *obj) |
| Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. | |
| virtual void | removeAllObj (DtObjectInstanceHandle obj) |
| Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. | |
| virtual const MAKRti::DtList & | allObjects () const |
| Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. | |
| virtual DtRtiObject * | allObj (DtObjectInstanceHandle id) |
| Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. | |
| virtual DtRtiObject * | allObj (const char *name) |
| Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set. | |
| virtual void | addKnownObj (DtRtiObject *obj) |
| Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. | |
| virtual void | removeKnownObj (DtObjectInstanceHandle obj) |
| Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. | |
| virtual const MAKRti::DtList & | knownObjects () const |
| Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. | |
| virtual DtRtiObject * | knownObj (DtObjectInstanceHandle id) |
| Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. | |
| virtual DtRtiObject * | knownObj (const char *name) |
| Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set. | |
| 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. | |
| 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. | |
| virtual const MAKRti::DtList & | ownedObjects () const |
| 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 * | ownedObj (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. | |
| virtual DtRtiObject * | ownedObj (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. | |
| 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. | |
| 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. | |
| virtual const MAKRti::DtList & | lrcManagedObjects () 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. | |
| virtual DtRtiObject * | lrcManagedObj (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. | |
| virtual DtRtiObject * | lrcManagedObj (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. | |
| void | testResign (RTI::ResignAction const &theAction) |
| Called when resigning from a federation to test conditions and to delete owned objects. | |
| void | prepareToResign (RTI::ResignAction const &theAction) |
| Called when resigning from a federation to test conditions and to delete owned objects. | |
| virtual void | setRestoreInProgress (bool isRestore) |
| Note: The advisory switches are disabled by a restore in progress. | |
| virtual bool | restoreInProgress () const |
| Note: The advisory switches are disabled by a restore in progress. | |
| virtual void | enableClassRelevanceSwitch () |
| Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant. | |
| virtual void | disableClassRelevanceSwitch () |
| Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant. | |
| virtual void | enableAttributeRelevanceSwitch () |
| Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant. | |
| virtual void | disableAttributeRelevanceSwitch () |
| Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant. | |
| virtual void | enableAttributeScopeSwitch () |
| Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant. | |
| virtual void | disableAttributeScopeSwitch () |
| Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant. | |
Static Public Member Functions | |
| static DtObjectMgr * | create (DtFederateMgr *fedMgr) |
| A Object Manager instance is created and its pointer is returned. | |
| static void | setCreatorFunction (DtObjectMgrCreator creator) |
| Register a creator function. | |
| static void | setInternalCreatorFunction (DtObjectMgrCreator fn) |
| Register alternate internal creators. | |
Protected Types | |
| typedef std::set < DtObjectClassHandle > | DtObjectClassHandleSet |
| typedef std::set < DtObjectInstanceHandle > | DtObjectInstanceHandleSet |
| 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. | |
| typedef std::map < DtObjectClassHandle, DtObjHandleSet > | DtClassToPendingObjDiscMap |
| typedef std::map < DtFederateHandle, DtClassToPendingObjDiscMap > | DtFederateToPendingObjDiscMap |
Protected Member Functions | |
| DtObjectMgr (DtFederateMgr *fedMgr) | |
| Constructor. | |
| virtual void | provideAttrValueUpdate (const DtRtiObject *obj, const DtAttributeHandleSet &attrHandles, char const *tag) |
| Make the fedAmb call to provide attrValUpdate for this object. | |
| 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. | |
| virtual void | remotePassiveSubscribe (DtObjectClassInfo &classDesc, const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle, bool isReplacement) |
| Track passive subscriptions ( no effect on advisories ) | |
| virtual void | remoteUnsubscribe (DtObjectClassHandle classHandle, const DtAttributeHandleSet &attrs, DtFederateHandle fedHandle) |
| Remove a remote subscription to object known database and determine effects on advisories. | |
| virtual void | setDiscoveredClass (DtRtiObject &object, DtFederateHandle federateHandle, DtObjectClassHandle classHandle) |
| Set the remote federate's discovered class and update the object's remote subscription information. | |
| virtual void | processAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle fed, bool onlyIfAvail, char const *tag) |
| Process a remote attribute acquisition. | |
| virtual void | processCancelAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle fed) |
| Process a remote cancel attribute acquisition. | |
| virtual void | processConfirmCancelAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs) |
| Process a remote confirm attribute acquisition. | |
| virtual void | processDivest (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle fed, bool negotiated, char const *tag=DtRtiMsg::theDefaultTag) |
| Process a remote attribute divestiture. | |
| virtual void | notifyDivestedAttributes (DtObjectClassHandle objectClass, DtAttributeHandleSet const &attrs) |
| Find any divested attributes instances that match (is of) the supplied class and set. | |
| virtual void | processQueryOwner (DtObjectInstanceHandle objHand, DtAttributeHandle attr, DtFederateHandle requestor) |
| Process a remote attribute ownership queury. | |
| virtual void | processNotifyAcquire (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, char const *tag=DtRtiMsg::theDefaultTag, bool forceAcquire=false) |
| Process a remote notify attribute acquisition. | |
| virtual void | processGiveToLrc (DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, char const *tag, DtHandle hand) |
| Give the supplied attributes to the local RTI component. | |
| virtual void | resetOwner (DtFederateHandle fedHandle, DtObjectInstanceHandle objHandle) |
| Reset the owner of the object. | |
| virtual void | sendPendingStartUpdates () |
| Send pending startUpdates. | |
| virtual void | sendPendingStopUpdates () |
| Send pending stopUpdates. | |
| virtual void | sendPendingStartReg () |
| Send pending startRegistration. | |
| virtual void | sendPendingStopReg () |
| Send pending stopRegistration. | |
| virtual void | sendPendingRegister () |
| Send pending Register. | |
| virtual void | sendPendingSubscription () |
| Send pending subscription class retransmissions. | |
| virtual void | sendPendingRemovals () |
| Send pending object removals. | |
| virtual void | sendPendingRequestAttributes () |
| Send pending request attribute value. | |
| virtual void | sendPendingDiscoveries () |
| Send pending discoveries. | |
| virtual void | invokePendingDivestNotification () |
| Invoke pending divest notification. | |
| virtual void | purgeDeletedObjects () |
| Purge entries for recently deleted objects that have timed out. | |
| 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. | |
| 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. | |
| virtual void | divestAllInstances () |
| Divest ownership (unconditionally) of all owned attributes of all objects. | |
| virtual void | releaseAllAttributes (DtRtiObject *object) |
| Release (unconditionally) all owned and LRC managed attributes Only used during a resign. | |
| virtual void | releaseOwnership (DtRtiObject *obj, const DtAttributeHandleSet &attrs) |
| Releases ownership of the specified attributes to the LRC Used when unpublishing. | |
| 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. | |
| virtual void | deleteAllOwnedObjects () |
| Delete all objects for which we own the privilege. | |
| virtual void | deleteObj (DtRtiObject *obj, bool isLocalDelete=false) |
| Remove object from all lists and delete it. | |
| 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. | |
| 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. | |
| 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. | |
| virtual void | removeObjectAssociations (DtRtiObject &object) |
| Remove associations to this object (e.g., regions) | |
| virtual void | collectRemoteSubscriptions (DtRtiObject &object) |
| Collect existing remote subscriptions and apply them to given object Supports attribute advisories when not distributing discovered class. | |
| virtual DtFederateHandle | federateHandleFromObjectID (DtObjectInstanceHandle id) const |
| Return the federate handle used to construct the given object ID. | |
| virtual unsigned long | nextOffsetId () |
| Return the next offset ID. | |
| 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. | |
| virtual DtRtiObject * | registerObj (DtObjectClassHandle theClass, DtObjectInstanceHandle objHandle, const char *name) |
| Register a locally simulated object. | |
| virtual DtRtiObject * | processNewObj (DtObjectInstanceHandle objHand, DtObjectClassInfo *actualClass, DtObjectClassInfo *subscribedClass, const char *name, const DtAhvps &inSet, DtHandle regSetHandle, DtFederateHandle sourceFederate) |
| Assumes we have not yet discovered objHand. | |
| virtual DtRtiObject * | discoverObject (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. | |
| 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. | |
| 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. | |
| 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. | |
| virtual bool | saveObjectList (DtRtiSaveFile &file) |
| save out the list of of known and owned objects | |
| virtual bool | restoreObjectList (DtRtiSaveFile &file) |
| restore the list of known and owned objects | |
| virtual void | destroyObjectLists () |
| Destroy all the object lists and their elements. | |
| virtual unsigned long | savePacketLength () |
| Return the length of buffer needed to save the state data. | |
| virtual void | processUpdate (const DtUpdateMsg &msg) |
| Process messages. | |
| virtual void | processRegister (const DtRegObjMsg &msg) |
| Process messages. | |
| virtual void | processDiscover (const DtDiscObjMsg &msg) |
| Process messages. | |
| virtual void | processRequestDiscover (const DtReqDiscObjMsg &msg) |
| Process messages. | |
| virtual void | processDelete (const DtDeleteRoMsg &msg) |
| Process messages. | |
| virtual void | processLocDelete (const DtLocDelMsg &msg) |
| Process messages. | |
| virtual void | processPub (const DtPubObjMsg &msg) |
| Process messages. | |
| virtual void | processUnpub (const DtUnpubObjMsg &msg) |
| Process messages. | |
| virtual void | processSub (const DtSubObjMsg &msg) |
| Process messages. | |
| virtual void | processUnsub (const DtUnsubObjMsg &msg) |
| Process messages. | |
| virtual void | processRequest (const DtRequestMsg &msg) |
| Process messages. | |
| virtual void | processOwnership (const DtOwnershipMsg &msg) |
| Process messages. | |
| virtual void | sendPublishMsg (DtObjectClassHandle handle, const DtAttributeHandleSet &theSet) |
| Send various types of RTI messages. | |
| virtual void | sendUnpublishMsg (DtObjectInstanceHandle handle, const DtAttributeHandleSet &theSet) |
| Send various types of RTI messages. | |
| virtual void | sendUnsubscribeMsg (DtObjectClassHandle handle, const DtAttributeHandleSet &theSet) |
| Send various types of RTI messages. | |
| virtual void | sendSubscribeMsg (DtObjectClassHandle theObj, bool isPassive, bool replacement, const DtAttributeHandleSet &theSet) |
| Send various types of RTI messages. | |
| virtual void | sendRegisterMsg (DtRtiObject *object) |
| Send various types of RTI messages. | |
| virtual void | sendLocalDeleteMsg (DtObjectInstanceHandle handle) |
| Send various types of RTI messages. | |
| virtual void | sendDiscoverMsg (DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle, DtFederateHandle owner) |
| Send various types of RTI messages. | |
| virtual void | sendRequestDiscoverMsg (DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle) |
| Send various types of RTI messages. | |
| virtual void | sendRemoveDiscoverMsg (DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle=0) |
| Send various types of RTI messages. | |
| virtual void | sendBestEffortUpdateMsg (DtRtiObject *obj, const DtAhvps &theAttrs, DtOrderHandle orderType, RTI::FedTime const *theTime, char const *tag, unsigned long serialNumber, const MAKRti::DtInetAddr &destAddr, unsigned int offset=0) |
| Send various types of RTI messages. | |
| virtual void | sendReliableUpdateMsg (DtRtiObject *obj, const DtAhvps &theAttrs, DtOrderHandle orderType, RTI::FedTime const *theTime, char const *tag, unsigned long serialNumber) |
| Send various types of RTI messages. | |
| virtual void | sendRequestMsg (DtRequestType type, unsigned long idOrClass, const DtAttributeHandleSet &theSet, char const *tag, bool anonymous, DtHandle regionSetHandle=DtRtiMsg::theDefaultRegionSetHandle) |
| Send various types of RTI messages. | |
| virtual unsigned long | sendDeleteMsg (DtObjectInstanceHandle handle, DtOrderHandle orderType, RTI::FedTime const *theTime, char const *tag) |
| Send various types of RTI messages. | |
| virtual void | sendOwnershipMsg (DtOwnerMsgKind kind, DtObjectInstanceHandle objHand, const DtAttributeHandleSet &attrs, DtFederateHandle targetFed=0, char const *tag=DtRtiMsg::theDefaultTag) |
| Send various types of RTI messages. | |
| virtual void | sendOwnershipMsg (DtOwnerMsgKind kind, DtObjectInstanceHandle objHand, const DtAttributeHandle attr, DtFederateHandle targetFed=0, char const *tag=DtRtiMsg::theDefaultTag) |
| Send various types of RTI messages. | |
| 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. | |
| 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. | |
Static Protected Member Functions | |
| static void | processUpdate (const DtUpdateMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processRegister (const DtRegObjMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processDiscover (const DtDiscObjMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processRequestDiscover (const DtReqDiscObjMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processDelete (const DtDeleteRoMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processLocDelete (const DtLocDelMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processPub (const DtPubObjMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processUnpub (const DtUnpubObjMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processSub (const DtSubObjMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processUnsub (const DtUnsubObjMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processRequest (const DtRequestMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
| static void | processOwnership (const DtOwnershipMsg &msg, void *usr) |
| Message callback methods to register with connection manager. | |
Protected Attributes | |
| DtFederateMgr * | myFederateMgr |
| Access to the federate manager. | |
| MAKRti::DtString | myHlaNamePrefix |
| The HLA object instance name prefix. | |
| MAKRti::DtHashList | myObjects |
| List of all objects by handle. | |
| MAKRti::DtHashList | myObjectsByName |
| List of all objects by name. | |
| MAKRti::DtHashList | myKnownObjs |
| List of known objects by handle. | |
| MAKRti::DtHashList | myKnownObjsByName |
| List of known objects by name. | |
| MAKRti::DtHashList | myOwnedObjs |
| List of owned objects by handle. | |
| MAKRti::DtHashList | myOwnedObjsByName |
| List of owned objects by name. | |
| MAKRti::DtHashList | myLrcManagedObjs |
| List of LRC owned objects by handle. | |
| MAKRti::DtHashList | myLrcManagedObjsByName |
| List of LRC owned objects by name. | |
| DtAddrMap | myAddrMap |
| Map of routing addresses by region set handle. | |
| std::map < DtObjectInstanceHandle, MAKRti::DtTime > | myDeletedObjects |
| Set of objects that have been recently deleted that will not be discovered via update. | |
| DtHandle | myFreeObjHandle |
| The next free object handle. | |
| bool | myIsJoined |
| Manager has performed join processing. | |
| bool | myRestoreInProgress |
| Status of restore. | |
| bool | myReuseIds |
| Unique object IDs have been exhausted, attempt to reuse IDs. | |
| MAKRti::DtClock | myClock |
| Clock for timing. | |
| DtFederateToPendingObjDiscMap | myPendingDiscoveries |
| DtFederateToPendingObjDiscMap | myPendingNonDiscoveries |
| DtTime | myNextPendingDiscTime |
| Next time we should send pending discovery messages. | |
| DtObjHandleSet | myIgnoreObjects |
| Set of object handles whose next updates should be ignored. | |
| DtObjectClassHandleSet | myRetransmitSubClass |
| Post processing lists. | |
| DtObjectInstanceHandleSet | myLocalDeletedObjects |
| Post processing lists. | |
| DtObjInstAttrSetPairList | myPendingStartUpdatesList |
| Post processing lists. | |
| DtObjClassAttrSetPairList | myPendingStopUpdatesList |
| Post processing lists. | |
| DtObjectClassHandleSet | myPendingStartRegList |
| Post processing lists. | |
| DtObjectClassHandleSet | myPendingStopRegList |
| Post processing lists. | |
| DtObjectClassHandleSet | myPendingRegisterList |
| Post processing lists. | |
| DtObjectInstanceHandleSet | myPendingInstRegisterList |
| Post processing lists. | |
| MAKRti::DtList | myPendingRemovals |
| Post processing lists. | |
| DtPendingRequestAttrMap | myPendingRequestAttrs |
| Post processing lists. | |
| DtPendingRequestAttrMap | myPendingDivestNotifications |
| Post processing lists. | |
| bool | myClassRelevanceSwitch |
| Advisory switches. | |
| bool | myAttributeRelevanceSwitch |
| Advisory switches. | |
| bool | myAttributeScopeSwitch |
| Advisory switches. | |
Static Protected Attributes | |
| static DtObjectMgrCreator | theCreator = 0 |
| The plugin creator. | |
| static DtObjectMgrCreator | theInternalCreator = 0 |
| The internal creator. | |
Private Member Functions | |
| DtObjectMgr (DtObjectMgr const &) | |
| Copy Constructor not implemented -- Copy Not Allowed! | |
| DtObjectMgr & | operator= (DtObjectMgr const &) |
| Assignment not implemented -- Assignment Not Allowed! | |
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.
typedef std::map<DtObjectClassHandle, DtObjHandleSet> DtObjectMgr::DtClassToPendingObjDiscMap [protected] |
typedef std::map<DtFederateHandle, DtClassToPendingObjDiscMap> DtObjectMgr::DtFederateToPendingObjDiscMap [protected] |
typedef std::list< std::pair< DtObjectClassHandle, DtAttributeHandleSet > > DtObjectMgr::DtObjClassAttrSetPairList [protected] |
typedef std::set< DtObjectClassHandle > DtObjectMgr::DtObjectClassHandleSet [protected] |
typedef std::set< DtObjectInstanceHandle > DtObjectMgr::DtObjectInstanceHandleSet [protected] |
| typedef DtObjectMgr*(* DtObjectMgr::DtObjectMgrCreator)(DtFederateMgr *fedMgr) |
Object manager creator type.
typedef std::set<DtObjectInstanceHandle> DtObjectMgr::DtObjHandleSet [protected] |
Pending discoveries and non-discoveries.
typedef std::list< std::pair< DtObjectInstanceHandle, DtAttributeHandleSet > > DtObjectMgr::DtObjInstAttrSetPairList [protected] |
| typedef std::map<DtObjectInstanceHandle, DtAttributeHandleSet> DtObjectMgr::DtPendingRequestAttrMap |
Map of requested attributes.
| DtObjectMgr::DtObjectMgr | ( | DtFederateMgr * | fedMgr | ) | [protected] |
Constructor.
References DtLocDelMsg::addCallback(), DtReqDiscObjMsg::addCallback(), DtUnpubObjMsg::addCallback(), DtUnsubObjMsg::addCallback(), DtPubObjMsg::addCallback(), DtMultiNameReservedMsg::addCallback(), DtDeleteRoMsg::addCallback(), DtQueryInterTransportMsg::addCallback(), DtSubObjMsg::addCallback(), DtUpdateRoMsg::addCallback(), DtRegObjMsg::addCallback(), DtDiscObjMsg::addCallback(), DtQueryTransportMsg::addCallback(), DtRequestMsg::addCallback(), DtOwnershipMsg::addCallback(), connectMgr(), dataDistMgmt, DtHlaNamePrefix, fom(), myAttributeRelevanceSwitch, myAttributeScopeSwitch, myClassRelevanceSwitch, myFederateMgr, myHlaNamePrefix, params(), processDelete(), processDiscover(), processLocDelete(), processOwnership(), processPub(), processRegister(), processRequest(), processRequestDiscover(), processSub(), processUnpub(), processUnsub(), processUpdate(), DtUpdateMsg::setChannelIncluded(), DtRtiObject::setUseDiscoveredClass(), useHlaNamePrefix(), and useRtiExec.
Referenced by create().
| DtObjectMgr::~DtObjectMgr | ( | ) | [virtual] |
Destructor.
References connectMgr(), destroyObjectLists(), processDelete(), processDiscover(), processLocDelete(), processOwnership(), processPub(), processRegister(), processRequest(), processRequestDiscover(), processSub(), processUnpub(), processUnsub(), processUpdate(), DtLocDelMsg::removeCallback(), DtUnpubObjMsg::removeCallback(), DtReqDiscObjMsg::removeCallback(), DtUnsubObjMsg::removeCallback(), DtPubObjMsg::removeCallback(), DtMultiNameReservedMsg::removeCallback(), DtDeleteRoMsg::removeCallback(), DtUpdateRoMsg::removeCallback(), DtQueryInterTransportMsg::removeCallback(), DtSubObjMsg::removeCallback(), DtRegObjMsg::removeCallback(), DtDiscObjMsg::removeCallback(), DtQueryTransportMsg::removeCallback(), DtRequestMsg::removeCallback(), and DtOwnershipMsg::removeCallback().
| DtObjectMgr::DtObjectMgr | ( | DtObjectMgr const & | ) | [private] |
Copy Constructor not implemented -- Copy Not Allowed!
| bool DtObjectMgr::acceptObjectChannel | ( | unsigned long | channel | ) | [protected, virtual] |
Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled.
Referenced by processUpdate().
| bool DtObjectMgr::acceptRequestChannel | ( | unsigned long | channel | ) | [protected, virtual] |
Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled.
| void DtObjectMgr::acquireAttrs | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | desiredAttributes, | ||
| bool | onlyIfAvail, | ||
| char const * | tag = DtRtiMsg::theDefaultTag |
||
| ) | [virtual] |
Process an attribute acquisition.
References DtRtiObject::acquireRemoteSubscriptions(), DtRtiObject::actualClassHandle(), DtRtiObject::addRequest(), DtObjectClassInfo::allAttrs(), DtAcquire, DtAcquireIfAvail, DtAttributeHandleSet::getHandle(), DtRtiObject::id(), DtAttributeHandleSet::isEmpty(), DtAttributeHandleSet::isEmptySet(), DtAttributeHandleSet::isMember(), DtRtiObject::knownClass(), DtRtiObject::lrcManagedAttrs(), DtRtiObject::objHandle(), DtRtiObject::owned(), DtRtiObject::ownedAttrs(), DtRtiObject::pendingUncondRequest(), DtObjectClassInfo::published(), DtObjectClassInfo::publishedAttrs(), DtObjectClassInfo::relevantAttrs(), DtAttributeHandleSet::removeSetIntersection(), DtRtiObject::rtiOwnedAttrs(), DtRtiObject::setAllDestinations(), DtAttributeHandleSet::setIntersection(), DtRtiObject::setTimeToUseDestinations(), DtAttributeHandleSet::size(), DtRtiObject::takeFromLrc(), and DtRtiObject::updateOnAttrs().
| void DtObjectMgr::addAllObj | ( | DtRtiObject * | obj | ) | [virtual] |
Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.
References myObjects, myObjectsByName, DtRtiObject::objHandle(), and DtRtiObject::objName().
Referenced by discoverObject(), processGiveToLrc(), registerObj(), and restoreObjectList().
| void DtObjectMgr::addClassMulticast | ( | DtObjectClassInfo * | classDesc, |
| float | rate = -1.0 |
||
| ) | [protected, virtual] |
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.
References connectMgr(), DtObjectClassInfo::destinationAddress(), DtObjectClassInfo::destinationDevice(), DtRIDParameters::enableUpdateRateReduction, fom(), DtConnectionMgr::listenToMulticastGroup(), DtObjectClassInfo::maxSubscribedRate(), params(), DtFomClassMgr::positionOfRate(), and DtObjectClassInfo::subclasses().
Referenced by subscribe().
| void DtObjectMgr::addKnownObj | ( | DtRtiObject * | obj | ) | [virtual] |
Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.
References myKnownObjs, myKnownObjsByName, DtRtiObject::objHandle(), DtRtiObject::objName(), and DtRtiObject::setIsKnown().
Referenced by discoverObject(), registerObj(), and restoreObjectList().
| 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.
References myLrcManagedObjs, myLrcManagedObjsByName, DtRtiObject::objHandle(), and DtRtiObject::objName().
Referenced by processGiveToLrc(), registerObj(), and restoreObjectList().
| 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.
References myOwnedObjs, myOwnedObjsByName, DtRtiObject::objHandle(), and DtRtiObject::objName().
Referenced by processNotifyAcquire(), registerObj(), and restoreObjectList().
| void DtObjectMgr::addPendingDiscovery | ( | DtObjectInstanceHandle | objectHandle, |
| DtObjectClassHandle | classHandle, | ||
| DtFederateHandle | federate, | ||
| bool | isNonDiscovery | ||
| ) | [virtual] |
Add pending discovery/non-discovery.
References myPendingDiscoveries, myPendingNonDiscoveries, sendDiscoverMsg(), and sendRemoveDiscoverMsg().
Referenced by discoverObject(), processRequestDiscover(), and sendNotDiscoveredMsgForSmartForwarding().
| void DtObjectMgr::addPendingDivestNotification | ( | DtObjectInstanceHandle | objectHandle, |
| DtAttributeHandleSet | attributes | ||
| ) | [virtual] |
Add pending divest notification that will get processed during the next tick.
References myPendingDivestNotifications, and DtAttributeHandleSet::setUnion().
| void DtObjectMgr::addPendingRegister | ( | DtObjectClassHandle | theClass | ) | [virtual] |
Add pending Register that will get processed during the next tick.
References DtConnectionMgr::activateTransmitDelay(), DtFomClassMgr::classByHandle(), connectMgr(), fom(), DtObjectClassInfo::isOfClass(), myPendingRegisterList, and restoreInProgress().
Referenced by DtObjectClassInfo::remotePassiveSubscribe(), DtObjectClassInfo::remoteSubscribe(), and DtObjectClassInfo::updateRelevance().
| void DtObjectMgr::addPendingRegisterForObject | ( | DtObjectInstanceHandle | objHandle | ) | [virtual] |
Add pending Register for the given object that will get processed during next tick.
References myPendingInstRegisterList, and restoreInProgress().
Referenced by processNotifyAcquire().
| void DtObjectMgr::addPendingRemoval | ( | DtObjectInstanceHandle | id | ) | [virtual] |
Add pending object removals that will get processed during the next tick.
References myPendingRemovals.
| void DtObjectMgr::addPendingRequestAttrs | ( | DtObjectInstanceHandle | objectHandle, |
| DtAttributeHandleSet | attributes | ||
| ) | [virtual] |
Add pending request attribute value that will get processed during the next tick.
References myPendingRequestAttrs, and DtAttributeHandleSet::setUnion().
Referenced by processRequest().
| void DtObjectMgr::addPendingStartReg | ( | DtObjectClassHandle | theClass | ) | [virtual] |
Add pending startRegistration that will get processed during the next tick.
References classRelevanceSwitch(), and myPendingStartRegList.
Referenced by DtObjectClassInfo::publish(), and DtObjectClassInfo::updateRelevance().
| void DtObjectMgr::addPendingStartUpdates | ( | DtObjectInstanceHandle | obj, |
| const DtAttributeHandleSet & | attributeList | ||
| ) | [virtual] |
Add pending startUpdates that will get called during the next tick.
References attributeRelevanceSwitch(), and myPendingStartUpdatesList.
| void DtObjectMgr::addPendingStopReg | ( | DtObjectClassHandle | theClass | ) | [virtual] |
Add pending stopRegistration that will get processed during the next tick.
References classRelevanceSwitch(), and myPendingStopRegList.
Referenced by DtObjectClassInfo::publish(), and DtObjectClassInfo::updateRelevance().
| void DtObjectMgr::addPendingStopUpdates | ( | DtObjectClassHandle | theClass, |
| const DtAttributeHandleSet & | attributeList | ||
| ) | [virtual] |
Add pending stopUpdates that will get called during the next tick.
References attributeRelevanceSwitch(), and myPendingStopUpdatesList.
| void DtObjectMgr::addPendingSubscription | ( | DtObjectClassHandle | theClass | ) | [virtual] |
Add pending subscription class retransmissions that will get processed during next tick.
References myRetransmitSubClass.
Referenced by processPub().
| DtRtiObject * DtObjectMgr::allObj | ( | DtObjectInstanceHandle | id | ) | [virtual] |
Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.
References myObjects.
Referenced by destroyObjectLists(), discoverObject(), processGiveToLrc(), processOwnership(), processQueryOwner(), registerObj(), removeAllObj(), and resetOwner().
| DtRtiObject * DtObjectMgr::allObj | ( | const char * | name | ) | [virtual] |
Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.
References myObjectsByName.
| const MAKRti::DtList & DtObjectMgr::allObjects | ( | ) | const [virtual] |
Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.
References myObjects.
| bool DtObjectMgr::attributeRelevanceSwitch | ( | ) | [virtual] |
References myAttributeRelevanceSwitch, and restoreInProgress().
Referenced by addPendingStartUpdates(), addPendingStopUpdates(), collectRemoteSubscriptions(), disableAttributeRelevanceSwitch(), enableAttributeRelevanceSwitch(), processDiscover(), processNotifyAcquire(), processResign(), remoteSubscribe(), and remoteUnsubscribe().
| bool DtObjectMgr::attributeScopeSwitch | ( | ) | [virtual] |
References myAttributeScopeSwitch, and restoreInProgress().
Referenced by disableAttributeScopeSwitch(), discoverObject(), and enableAttributeScopeSwitch().
| void DtObjectMgr::autoProvideAttrValueUpdate | ( | ) | [virtual] |
Invoke provide for all owned attributes.
References myOwnedObjs, NULL, provideAttrValueUpdate(), DtAttributeHandleSet::size(), and DtRtiObject::updateOnAttrs().
| void DtObjectMgr::cancelAcquire | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs | ||
| ) | [virtual] |
Cancel an attribute acquisition.
References DtObjectClassInfo::allAttrs(), DtCancelAcquire, DtAttributeHandleSet::getHandle(), DtAttributeHandleSet::isMember(), DtRtiObject::knownClass(), knownObj(), DtRtiObject::owned(), DtRtiObject::pendingUncondRequest(), sendOwnershipMsg(), and DtAttributeHandleSet::size().
| void DtObjectMgr::cancelDivest | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs | ||
| ) | [virtual] |
Cancel an attribute divestiture.
References DtObjectClassInfo::allAttrs(), DtRtiObject::cancelDivest(), DtRtiObject::divestingAttrs(), DtAttributeHandleSet::getHandle(), DtAttributeHandleSet::isMember(), DtRtiObject::knownClass(), knownObj(), DtRtiObject::owned(), and DtAttributeHandleSet::size().
| bool DtObjectMgr::classRelevanceSwitch | ( | ) | [virtual] |
References myClassRelevanceSwitch, and restoreInProgress().
Referenced by addPendingStartReg(), addPendingStopReg(), disableClassRelevanceSwitch(), and enableClassRelevanceSwitch().
| void DtObjectMgr::collectRemoteSubscriptions | ( | DtRtiObject & | object | ) | [protected, virtual] |
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.
References attributeRelevanceSwitch(), DtObjectClassInfo::baseClass(), DtIsFound(), DtObjectClassInfo::handle(), setDiscoveredClass(), DtObjectClassInfo::subscribedFederates(), turnUpdatesOff(), and turnUpdatesOn().
Referenced by processLocDelete(), and processRegister().
| DtConnectionMgr * DtObjectMgr::connectMgr | ( | ) | [virtual] |
Returns pointer to network connection mgr.
References DtFederateMgr::connectMgr(), and federateMgr().
Referenced by addClassMulticast(), addPendingRegister(), discoverObject(), DtObjectMgr(), invokePendingDivestNotification(), invokeReflect(), nextOffsetId(), postJoinInit(), processCancelAcquire(), processConfirmCancelAcquire(), processDelete(), processDiscover(), processGiveToLrc(), processNotifyAcquire(), processOwnership(), processPub(), processRegister(), processRequest(), processRequestDiscover(), processResign(), processSub(), processUnpub(), processUnsub(), processUpdate(), queryOwnership(), registerObj(), releaseAllAttributes(), releaseOwnership(), removeClassMulticast(), retainTsoDeletedObj(), retainTsoRemovedObj(), sendBestEffortUpdateMsg(), sendDiscoverMsg(), sendLocalDeleteMsg(), sendPendingDiscoveries(), sendPendingRegister(), sendPendingRemovals(), sendPendingRequestAttributes(), sendPendingStartReg(), sendPendingStartUpdates(), sendPendingStopReg(), sendPendingStopUpdates(), sendPendingSubscription(), sendPublishMsg(), sendRegisterMsg(), sendReliableUpdateMsg(), sendRemoveDiscoverMsg(), sendRequestDiscoverMsg(), sendSubscribeMsg(), sendUnpublishMsg(), sendUnsubscribeMsg(), sendUpdateMessage(), setAttributeTransportType(), turnUpdatesOff(), turnUpdatesOn(), and ~DtObjectMgr().
| DtConnectionMgr * DtObjectMgr::connectMgr | ( | ) | const [virtual] |
References DtFederateMgr::connectMgr(), and federateMgr().
| 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.
References DtObjectMgr(), theCreator, and theInternalCreator.
Referenced by setCreatorFunction(), and setInternalCreatorFunction().
| void DtObjectMgr::deleteAllOwnedObjects | ( | ) | [protected, virtual] |
Delete all objects for which we own the privilege.
References deleteObj(), myOwnedObjs, NULL, DtRtiObject::objHandle(), DtRtiObject::ownPriviledgeToDelete(), and DtRtiMsg::theDefaultTag.
| unsigned long DtObjectMgr::deleteObj | ( | DtObjectInstanceHandle | objectID, |
| RTI::FedTime const * | theTime, | ||
| char const * | theTag | ||
| ) | [virtual] |
Delete a locally simulated object Return retraction handle serial number.
References DtRtiObject::attrOrder(), DtPrivilegeToDelete, and DtRtiObject::ownPriviledgeToDelete().
Referenced by deleteAllOwnedObjects(), destroyObjectLists(), localDeleteObj(), processDelete(), and processResign().
| void DtObjectMgr::deleteObj | ( | DtRtiObject * | obj, |
| bool | isLocalDelete = false |
||
| ) | [protected, virtual] |
Remove object from all lists and delete it.
References DtRtiObject::objHandle(), DtRtiObject::objName(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), and removeOwnedObj().
| void DtObjectMgr::destroyObjectLists | ( | ) | [protected, virtual] |
Destroy all the object lists and their elements.
References allObj(), deleteObj(), DtPrivilegeToDelete, DtAddrMap::empty(), myAddrMap, myObjects, DtRtiObject::objHandle(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), removeObjectAssociations(), removeOwnedObj(), and DtRtiObject::rtiOwned().
Referenced by prepareToRestore(), and ~DtObjectMgr().
| void DtObjectMgr::disableAttributeRelevanceSwitch | ( | ) | [virtual] |
Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References attributeRelevanceSwitch(), and setAttributeRelevanceSwitch().
| void DtObjectMgr::disableAttributeScopeSwitch | ( | ) | [virtual] |
Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant.
References attributeScopeSwitch(), and setAttributeScopeSwitch().
| void DtObjectMgr::disableClassRelevanceSwitch | ( | ) | [virtual] |
Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References classRelevanceSwitch(), and setClassRelevanceSwitch().
| DtRtiObject * DtObjectMgr::discoverObject | ( | DtObjectInstanceHandle | objHandle, |
| const char * | objName, | ||
| DtObjectClassInfo * | actualClass, | ||
| DtObjectClassInfo * | discoveredClass, | ||
| const DtAttributeHandleSet & | attrSet, | ||
| DtFederateHandle | federateHandle, | ||
| bool | federateOwnsPrivilegeToDelete | ||
| ) | [protected, virtual] |
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.
References addAllObj(), addKnownObj(), addPendingDiscovery(), allObj(), attributeScopeSwitch(), RTI::FederateAmbassador::attributesInScope(), connectMgr(), DtRtiObject::createDiscoveredObject(), RTI::FederateAmbassador::discoverObjectInstance(), DtAutoRequestById, DtToWString(), DtConnectionMgr::fedAmb(), fom(), DtRtiObject::knownClassHandle(), knownObj(), NULL, params(), removedObjectIsRetained(), sendDiscoverMsg(), and sendRequestMsg().
Referenced by processNewObj(), and processRegister().
| void DtObjectMgr::divestAllInstances | ( | DtObjectClassHandle | classHand, |
| const DtAttributeHandleSet & | attrs | ||
| ) | [protected, virtual] |
Divest ownership (unconditionally) of all owned attributes in attrs for each object that's known at class classHand.
References DtRtiObject::knownClassHandle(), myOwnedObjs, NULL, DtRtiObject::ownedAttrs(), releaseOwnership(), DtAttributeHandleSet::setIntersection(), and DtAttributeHandleSet::size().
| void DtObjectMgr::divestAllInstances | ( | ) | [protected, virtual] |
Divest ownership (unconditionally) of all owned attributes of all objects.
References myOwnedObjs, NULL, DtRtiObject::ownedAttrs(), and releaseOwnership().
Referenced by publish(), and unpublishAttributes().
| void DtObjectMgr::divestOwnership | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs, | ||
| DtDivestCondition | condition, | ||
| char const * | tag = DtRtiMsg::theDefaultTag |
||
| ) | [virtual] |
Process a attribute divestiture.
References DtRtiObject::addDivesting(), DtObjectClassInfo::allAttrs(), DtRtiObject::divestingAttrs(), DtRtiObject::divestRemoteSubscriptions(), DtRtiObject::divestToLrc(), DtDivestNegotiated, DtDivestUnconditional, DtNegotiatedDivest, DtNotifyAcquire, DtUncondDivest, DtAttributeHandleSet::empty(), DtAttributeHandleSet::getHandle(), DtRtiObject::giveToLrc(), DtAttributeHandleSet::isEmpty(), DtAttributeHandleSet::isMember(), DtRtiObject::knownClass(), DtRtiObject::objHandle(), DtRtiObject::owned(), DtRtiObject::ownedAttrs(), DtRtiObject::releaseRequested(), DtRtiObject::removeRequest(), DtAttributeHandleSet::removeSetIntersection(), DtAttributeHandleSet::setUnion(), and DtAttributeHandleSet::size().
| void DtObjectMgr::enableAttributeRelevanceSwitch | ( | ) | [virtual] |
Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References attributeRelevanceSwitch(), and setAttributeRelevanceSwitch().
| void DtObjectMgr::enableAttributeScopeSwitch | ( | ) | [virtual] |
Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant.
References attributeScopeSwitch(), and setAttributeScopeSwitch().
| void DtObjectMgr::enableClassRelevanceSwitch | ( | ) | [virtual] |
Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References classRelevanceSwitch(), and setClassRelevanceSwitch().
| DtFederateHandle DtObjectMgr::federateHandleFromObjectID | ( | DtObjectInstanceHandle | id | ) | const [protected, virtual] |
Return the federate handle used to construct the given object ID.
References DtRIDParameters::maxObjectsPerFederate(), and params().
Referenced by objectWasCreatedByFederate().
| DtFederateMgr * DtObjectMgr::federateMgr | ( | ) | [virtual] |
Access to the federate manager.
References myFederateMgr.
Referenced by connectMgr(), fom(), params(), processResign(), and sendPendingRemovals().
| DtFederateMgr * DtObjectMgr::federateMgr | ( | ) | const [virtual] |
References myFederateMgr.
| DtObjectInstanceHandle DtObjectMgr::findReusableHandle | ( | ) | [protected, virtual] |
Attempt to find an instance handle that can be re-assigned to a new registration Returns a 0 handle if no free handle found.
References myFreeObjHandle, myKnownObjs, and nextOffsetId().
Referenced by uniqueHandle().
| DtObjectClassInfo * DtObjectMgr::firstSubscribedClass | ( | DtObjectClassInfo * | classDesc, |
| DtHandle | regSetHandle | ||
| ) | [virtual] |
Returns most specific superclass of class, to which we are subscribed.
References DtObjectClassInfo::baseClass(), NULL, and DtObjectClassInfo::subscribed().
Referenced by processNewObj(), processRegister(), and processUpdate().
| DtFomClassMgr * DtObjectMgr::fom | ( | ) | [virtual] |
Return fom pointer.
References federateMgr(), and DtFederateMgr::fom().
Referenced by addClassMulticast(), addPendingRegister(), discoverObject(), DtObjectMgr(), processDelete(), processGiveToLrc(), processNewObj(), processNotifyAcquire(), processPub(), processRegister(), processResign(), processSub(), processUnsub(), processUpdate(), publish(), published(), registerObj(), removeClassMulticast(), requestClassUpdate(), restoreObjectList(), sendPendingRemovals(), sendPendingStopReg(), sendPendingSubscription(), setDiscoveredClass(), subscribe(), subscribed(), unpublishAttributes(), unpublishClass(), unsubscribeAttributes(), and unsubscribeClass().
| DtFomClassMgr * DtObjectMgr::fom | ( | ) | const [virtual] |
Return fom pointer.
References federateMgr(), and DtFederateMgr::fom().
| 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.
References myHlaNamePrefix.
Referenced by registerObj().
| void DtObjectMgr::ignoreNextUpdate | ( | DtObjectInstanceHandle | hdl | ) | [virtual] |
Tells the object manager to ignore the next update for the given object.
References myIgnoreObjects.
| void DtObjectMgr::invokePendingDivestNotification | ( | ) | [protected, virtual] |
Invoke pending divest notification.
References RTI::FederateAmbassador::attributeOwnershipDivestitureNotification(), connectMgr(), DtConnectionMgr::fedAmb(), myPendingDivestNotifications, and ownedObj().
Referenced by postTick(), and preTick().
| 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 |
||
| ) | [protected, virtual] |
Invoke the reflect attribute values update call.
References connectMgr(), DtConnectionMgr::fedAmb(), and RTI::FederateAmbassador::reflectAttributeValues().
Referenced by processUpdate().
| bool DtObjectMgr::isAcquistionPending | ( | ) | [virtual] |
Return true if ownership acquistion is pending for remote attrs.
References DtRtiObject::ifAvailRequestedAttrs(), myObjects, DtAttributeHandleSet::size(), and DtRtiObject::uncondRequestedAttrs().
| bool DtObjectMgr::isPostJoined | ( | ) | const [virtual] |
Return bool: Was the post join initialization perfomerd?
References myIsJoined.
| DtRtiObject * DtObjectMgr::knownObj | ( | DtObjectInstanceHandle | id | ) | [virtual] |
Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.
References myKnownObjs.
Referenced by cancelAcquire(), cancelDivest(), discoverObject(), localDeleteObj(), objectClass(), objectHandle(), objectName(), processCancelAcquire(), processConfirmCancelAcquire(), processDelete(), processNotifyAcquire(), processOwnership(), processRegister(), processRequestDiscover(), processUpdate(), queryOwnership(), releaseResponse(), removeKnownObj(), setAttributeOrderType(), and setAttributeTransportType().
| 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.
References myKnownObjsByName.
| const MAKRti::DtList & DtObjectMgr::knownObjects | ( | ) | const [virtual] |
Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.
References myKnownObjs.
| void DtObjectMgr::localDeleteObj | ( | DtObjectInstanceHandle | obj | ) | [virtual] |
Implements the localDeleteObjectInstance service.
References deleteObj(), DtRtiObject::ifAvailRequestedAttrs(), knownObj(), lrcManagedObj(), myLocalDeletedObjects, DtRtiObject::ownedAttrs(), params(), removeKnownObj(), removeObjectAssociations(), DtRtiObject::rtiOwnedAttrs(), sendLocalDeleteMsg(), DtAttributeHandleSet::size(), and DtRtiObject::uncondRequestedAttrs().
| 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.
References myLrcManagedObjs.
Referenced by localDeleteObj(), processGiveToLrc(), and removeLrcManagedObj().
| 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.
References myLrcManagedObjsByName.
| const MAKRti::DtList & 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.
References myLrcManagedObjs.
| unsigned long DtObjectMgr::nextOffsetId | ( | ) | [protected, virtual] |
Return the next offset ID.
An invalid ID of 0 is returned if this next offset exceeded the maximum.
References connectMgr(), DtConnectionMgr::fedHandle(), DtRIDParameters::maxObjectsPerFederate(), myFreeObjHandle, and params().
Referenced by findReusableHandle(), and uniqueHandle().
| void DtObjectMgr::notifyDivestedAttributes | ( | DtObjectClassHandle | objectClass, |
| DtAttributeHandleSet const & | attrs | ||
| ) | [protected, virtual] |
Find any divested attributes instances that match (is of) the supplied class and set.
Send a notify divest for them.
References DtRtiObject::actualClass(), DtRtiObject::divestedAttrs(), DtUncondDivest, DtObjectClassInfo::isOfClass(), myOwnedObjs, DtRtiObject::objHandle(), sendOwnershipMsg(), DtAttributeHandleSet::setIntersection(), and DtAttributeHandleSet::size().
Referenced by processPub().
| int DtObjectMgr::numObjectsOwned | ( | ) | [virtual] |
return the number of owned objects
References myOwnedObjs, and DtRtiObject::ownPriviledgeToDelete().
Referenced by testResign().
| DtObjectClassHandle DtObjectMgr::objectClass | ( | DtObjectInstanceHandle | handle | ) | [virtual] |
Get an object's class.
References DtRtiObject::knownClassHandle(), and knownObj().
| DtObjectInstanceHandle DtObjectMgr::objectHandle | ( | const char * | name | ) | [virtual] |
Get objectHandle from name.
References knownObj(), and DtRtiObject::objHandle().
Referenced by removedObjectIsRetained().
| const char * DtObjectMgr::objectName | ( | DtObjectInstanceHandle | handle | ) | [virtual] |
Get object name from handle.
Returns pointer to internal memory.
References knownObj(), and DtRtiObject::objName().
Referenced by registerObj().
| 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.
References federateHandleFromObjectID(), and DtRtiObject::id().
Referenced by processResign().
| DtObjectMgr& DtObjectMgr::operator= | ( | DtObjectMgr const & | ) | [private] |
Assignment not implemented -- Assignment Not Allowed!
| 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.
References myOwnedObjs.
Referenced by invokePendingDivestNotification(), processDiscover(), processLocDelete(), processRequest(), removeOwnedObj(), sendPendingRegister(), sendPendingRequestAttributes(), and sendPendingStartUpdates().
| 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.
References myOwnedObjsByName.
| const MAKRti::DtList & 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.
References myOwnedObjs.
Referenced by remotePassiveSubscribe(), remoteSubscribe(), remoteUnsubscribe(), and testResign().
| DtRIDParameters * DtObjectMgr::params | ( | ) | [virtual] |
Return pointer to RID parameters.
References federateMgr(), and DtFederateMgr::params().
Referenced by addClassMulticast(), discoverObject(), DtObjectMgr(), federateHandleFromObjectID(), localDeleteObj(), nextOffsetId(), postJoinInit(), processDelete(), processLocDelete(), processNotifyAcquire(), processRegister(), processRequestDiscover(), processUpdate(), DtObjectClassInfo::publish(), publish(), registerObj(), remotePassiveSubscribe(), remoteSubscribe(), removeClassMulticast(), sendBestEffortUpdateMsg(), sendDiscoverMsg(), sendNotDiscoveredMsgForSmartForwarding(), sendPendingDiscoveries(), sendReliableUpdateMsg(), sendRemoveDiscoverMsg(), sendRequestDiscoverMsg(), setAttributeOrderType(), setAttributeTransportType(), subscribe(), uniqueHandle(), unsubscribeAttributes(), and useHlaNamePrefix().
| DtRIDParameters * DtObjectMgr::params | ( | ) | const [virtual] |
Return pointer to RID parameters.
References federateMgr(), and DtFederateMgr::params().
| void DtObjectMgr::postJoinInit | ( | ) | [virtual] |
Post join processing. All managers shall have been created and initialized.
References connectMgr(), myIsJoined, and params().
| void DtObjectMgr::postTick | ( | ) | [virtual] |
Called after processing messages in RTI ambassador tick / evoke callbacks.
References invokePendingDivestNotification(), purgeDeletedObjects(), sendPendingDiscoveries(), sendPendingRegister(), sendPendingRemovals(), sendPendingRequestAttributes(), sendPendingStartReg(), sendPendingStartUpdates(), sendPendingStopReg(), sendPendingStopUpdates(), and sendPendingSubscription().
Referenced by DtFederateMgr::posttick().
| void DtObjectMgr::prepareToResign | ( | RTI::ResignAction const & | theAction | ) |
Called when resigning from a federation to test conditions and to delete owned objects.
References RTI::Exception::_name, RTI::Exception::_reason, rti1516::CANCEL_PENDING_OWNERSHIP_ACQUISITIONS, rti1516e::CANCEL_PENDING_OWNERSHIP_ACQUISITIONS, rti1516::CANCEL_THEN_DELETE_THEN_DIVEST, rti1516e::CANCEL_THEN_DELETE_THEN_DIVEST, rti1516::DELETE_OBJECTS, rti1516e::DELETE_OBJECTS, RTI::DELETE_OBJECTS, RTI::DELETE_OBJECTS_AND_RELEASE_ATTRIBUTES, rti1516::DELETE_OBJECTS_THEN_DIVEST, rti1516e::DELETE_OBJECTS_THEN_DIVEST, DtCancelAcquire, DtDivestUnconditional, DtRtiObject::id(), DtRtiObject::ifAvailRequestedAttrs(), NULL, DtRtiObject::objHandle(), DtRtiObject::objName(), DtRtiObject::ownedAttrs(), DtRtiObject::ownPriviledgeToDelete(), RTI::RELEASE_ATTRIBUTES, DtRtiObject::rtiOwnedAttrs(), DtAttributeHandleSet::setUnion(), DtAttributeHandleSet::size(), DtRtiMsg::theDefaultTag, rti1516::UNCONDITIONALLY_DIVEST_ATTRIBUTES, rti1516e::UNCONDITIONALLY_DIVEST_ATTRIBUTES, and DtRtiObject::uncondRequestedAttrs().
| void DtObjectMgr::prepareToRestore | ( | ) | [virtual] |
Prepare the state information to be restored (i.e., clear out existing data).
References destroyObjectLists().
Referenced by DtRtiExecFederateMgr::prepareToRestoreLRC().
| void DtObjectMgr::preTick | ( | ) | [virtual] |
Called before processing messages in RTI ambassador tick / evoke callbacks.
References invokePendingDivestNotification().
Referenced by DtFederateMgr::pretick().
| void DtObjectMgr::processAcquire | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs, | ||
| DtFederateHandle | fed, | ||
| bool | onlyIfAvail, | ||
| char const * | tag | ||
| ) | [protected, virtual] |
Process a remote attribute acquisition.
References DtRtiObject::addPendingConfirm(), DtRtiObject::addRemoteRequest(), DtRtiObject::canceledRequestSet(), DtRtiObject::divestingAttrs(), DtRtiObject::divestRemoteSubscriptions(), DtNotifyAcquire, DtOwnershipUnavail, DtAttributeHandleSet::isEmpty(), DtRtiObject::lrcManagedAttrs(), DtRtiObject::lrcUnmanage(), DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), DtRtiObject::pendingConfirmAttributes(), DtRtiObject::pendingConfirmByFed(), DtRtiObject::releaseAttrs(), DtRtiObject::removePendingConfirm(), DtAttributeHandleSet::removeSetIntersection(), DtRtiObject::requestedAttributes(), DtRtiObject::requestedByFed(), DtAttributeHandleSet::setIntersection(), DtAttributeHandleSet::setUnion(), and DtAttributeHandleSet::size().
Referenced by processOwnership().
| void DtObjectMgr::processCancelAcquire | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs, | ||
| DtFederateHandle | fed | ||
| ) | [protected, virtual] |
Process a remote cancel attribute acquisition.
References DtRtiObject::cancelRemoteRequest(), connectMgr(), DtRtiObject::divestingAttrs(), DtConfirmCancelAcquire, knownObj(), DtRtiObject::ownedAttrs(), DtAttributeHandleSet::removeSetIntersection(), DtRtiObject::requestedByFed(), sendOwnershipMsg(), DtAttributeHandleSet::setIntersection(), DtAttributeHandleSet::setUnion(), and DtAttributeHandleSet::size().
Referenced by processOwnership().
| void DtObjectMgr::processConfirmCancelAcquire | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs | ||
| ) | [protected, virtual] |
Process a remote confirm attribute acquisition.
References RTI::FederateAmbassador::confirmAttributeOwnershipAcquisitionCancellation(), connectMgr(), DtConnectionMgr::fedAmb(), knownObj(), and DtRtiObject::removeRequest().
Referenced by processOwnership().
| void DtObjectMgr::processDelete | ( | const DtDeleteRoMsg & | msg | ) | [protected, virtual] |
Process messages.
References connectMgr(), deleteObj(), DtConnectionMgr::fedAmb(), DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), fom(), rti1516e::SupplementalRemoveInfo::hasProducingFederate, DtDeleteRoMsg::id(), knownObj(), myClock, myDeletedObjects, DtRtiObject::objHandle(), params(), rti1516e::SupplementalRemoveInfo::producingFederate, rti1516::RECEIVE, removeObjectAssociations(), RTI::FederateAmbassador::removeObjectInstance(), DtRIDParameters::responseInterval, and DtDeleteMsg::tag().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processDelete | ( | const DtDeleteRoMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processDiscover | ( | const DtDiscObjMsg & | msg | ) | [protected, virtual] |
Process messages.
References attributeRelevanceSwitch(), DtDiscObjMsg::classHandle(), connectMgr(), DtPrivilegeToDelete, DtResetOwner, DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), DtDiscObjMsg::getObjHandles(), DtRtiObject::objHandle(), ownedObj(), DtDiscObjMsg::ownerHandle(), DtRtiObject::ownerHandle(), DtDiscObjMsg::removeDiscover(), sendOwnershipMsg(), setDiscoveredClass(), turnUpdatesOff(), and turnUpdatesOn().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processDiscover | ( | const DtDiscObjMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processDivest | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs, | ||
| DtFederateHandle | fed, | ||
| bool | negotiated, | ||
| char const * | tag = DtRtiMsg::theDefaultTag |
||
| ) | [protected, virtual] |
Process a remote attribute divestiture.
References DtRtiObject::knownClass(), DtObjectClassInfo::publishedAttrs(), DtAttributeHandleSet::setIntersection(), and DtAttributeHandleSet::size().
Referenced by processOwnership().
| void DtObjectMgr::processGiveToLrc | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs, | ||
| char const * | tag, | ||
| DtHandle | hand | ||
| ) | [protected, virtual] |
Give the supplied attributes to the local RTI component.
References addAllObj(), addLrcManagedObj(), allObj(), DtFomClassMgr::classByHandle(), connectMgr(), DtRtiObject::createDiscoveredObject(), DtPrivilegeToDelete, DtResetOwner, DtConnectionMgr::fedHandle(), fom(), DtRtiObject::giveToLrc(), DtAttributeHandleSet::isMember(), lrcManagedObj(), DtRtiObject::objHandle(), sendOwnershipMsg(), and DtRtiObject::setOwnerHandle().
Referenced by processOwnership().
| void DtObjectMgr::processLocDelete | ( | const DtLocDelMsg & | msg | ) | [protected, virtual] |
Process messages.
References collectRemoteSubscriptions(), DtLocDelMsg::objHandle(), DtRtiObject::ownedAttrs(), ownedObj(), params(), resendRegister(), and DtAttributeHandleSet::size().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processLocDelete | ( | const DtLocDelMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| 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.
References DtFomClassMgr::classByHandle(), discoverObject(), DtPrivilegeToDelete, firstSubscribedClass(), fom(), DtAttributeHandleSet::isMember(), NULL, DtAttributeHandleSet::setIntersection(), DtAttributeHandleSet::size(), and DtObjectClassInfo::subscribedAttrs().
Referenced by processUpdate().
| DtRtiObject * DtObjectMgr::processNewObj | ( | DtObjectInstanceHandle | objHand, |
| DtObjectClassInfo * | actualClass, | ||
| DtObjectClassInfo * | subscribedClass, | ||
| const char * | name, | ||
| const DtAhvps & | inSet, | ||
| DtHandle | regSetHandle, | ||
| DtFederateHandle | sourceFederate | ||
| ) | [protected, 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.
References DtAttributeHandleSet::add(), discoverObject(), DtAttributeHandleSet::getHandle(), DtObjectClassInfo::isSubscribed(), NULL, and DtAttributeHandleSet::size().
| void DtObjectMgr::processNotifyAcquire | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs, | ||
| char const * | tag = DtRtiMsg::theDefaultTag, |
||
| bool | forceAcquire = false |
||
| ) | [protected, virtual] |
Process a remote notify attribute acquisition.
References DtRtiObject::acquireRemoteSubscriptions(), DtRtiObject::actualClassHandle(), addOwnedObj(), addPendingRegisterForObject(), RTI::FederateAmbassador::attributeOwnershipAcquisitionNotification(), attributeRelevanceSwitch(), connectMgr(), dataDistMgmt, DtPrivilegeToDelete, DtResetOwner, DtConnectionMgr::fedAmb(), DtConnectionMgr::fedHandle(), fom(), DtRtiObject::ifAvailRequestedAttrs(), DtAttributeHandleSet::isEmpty(), DtRtiObject::knownClass(), knownObj(), myClock, DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), DtRtiObject::ownPriviledgeToDelete(), params(), DtObjectClassInfo::relevantAttrs(), DtAttributeHandleSet::removeSetIntersection(), sendOwnershipMsg(), sendRequestDiscoverMsg(), DtRtiObject::setAllDestinations(), DtAttributeHandleSet::setIntersection(), DtRtiObject::setTimeToUseDestinations(), DtAttributeHandleSet::size(), DtRtiObject::takeAttrs(), turnUpdatesOn(), DtRtiObject::uncondRequestedAttrs(), and DtRtiObject::updateOnAttrs().
Referenced by processOwnership().
| void DtObjectMgr::processOwnership | ( | const DtOwnershipMsg & | msg | ) | [protected, virtual] |
Process messages.
References allObj(), DtOwnershipMsg::attrHandles(), RTI::FederateAmbassador::attributeIsNotOwned(), RTI::FederateAmbassador::attributeOwnedByRTI(), RTI::FederateAmbassador::attributeOwnershipUnavailable(), DtRtiObject::attrTransport(), DtOwnershipMsg::classHandle(), connectMgr(), DtAcquire, DtAcquireIfAvail, DtCancelAcquire, DtCancelNegotiatedDivest, DtConfirmCancelAcquire, DtGiveToLRC, DtInformOwner, DtMomTransfer, DtNegotiatedDivest, DtNotifyAcquire, DtNotOwned, DtOwnedByRti, DtOwnershipUnavail, DtQueryAttrTransportType, DtQueryOwner, DtResetOwner, DtUncondDivest, DtConnectionMgr::fedAmb(), DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), DtAttributeHandleSet::getHandle(), DtRtiObject::ifAvailRequestedAttrs(), RTI::FederateAmbassador::informAttributeOwnership(), DtAttributeHandleSet::isEmpty(), knownObj(), DtRtiObject::lrcManagedAttrs(), DtOwnershipMsg::objHandle(), DtRtiObject::objHandle(), DtRtiObject::owned(), DtRtiObject::ownedAttrs(), DtOwnershipMsg::ownerMsgKind(), processAcquire(), processCancelAcquire(), processConfirmCancelAcquire(), processDivest(), processGiveToLrc(), processNotifyAcquire(), processQueryOwner(), DtOwnershipMsg::recipientFederate(), removeLrcManagedObj(), removeOwnedObj(), resetOwner(), DtAttributeHandleSet::setIntersection(), DtAttributeHandleSet::size(), and DtOwnershipMsg::tag().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processOwnership | ( | const DtOwnershipMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processPub | ( | const DtPubObjMsg & | msg | ) | [protected, virtual] |
Process messages.
References DtConnectionMgr::activateTransmitDelay(), addPendingSubscription(), DtPubObjMsg::attrHandles(), DtObjectClassInfo::baseClass(), DtFomClassMgr::classByHandle(), connectMgr(), DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), fom(), DtObjectClassInfo::handle(), notifyDivestedAttributes(), DtPubObjMsg::objectClassHandle(), sendSubscribeMsg(), DtAttributeHandleSet::setIntersection(), DtAttributeHandleSet::size(), and DtObjectClassInfo::subscribedActiveAttrs().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processPub | ( | const DtPubObjMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processQueryOwner | ( | DtObjectInstanceHandle | objHand, |
| DtAttributeHandle | attr, | ||
| DtFederateHandle | requestor | ||
| ) | [protected, virtual] |
Process a remote attribute ownership queury.
References allObj(), DtInformOwner, DtNotOwned, DtOwnedByRti, DtRtiObject::lrcManaged(), DtRtiObject::owned(), DtRtiObject::rtiOwned(), and sendOwnershipMsg().
Referenced by processOwnership().
| void DtObjectMgr::processRegister | ( | const DtRegObjMsg & | msg | ) | [protected, virtual] |
Process messages.
References DtRegObjMsg::attrHandles(), DtFomClassMgr::classByHandle(), DtRegObjMsg::classHandle(), collectRemoteSubscriptions(), connectMgr(), discoverObject(), DtDefaultRegionSetHandle, DtIsFound(), DtPrivilegeToDelete, DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), firstSubscribedClass(), fom(), DtAttributeHandleSet::isMember(), knownObj(), myLocalDeletedObjects, DtRegObjMsg::objHandle(), DtRegObjMsg::objName(), params(), sendNotDiscoveredMsgForSmartForwarding(), sendRemoveDiscoverMsg(), DtAttributeHandleSet::setIntersection(), DtRtiObject::setOwnerHandle(), DtAttributeHandleSet::size(), and DtObjectClassInfo::subscribedAttrs().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processRegister | ( | const DtRegObjMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processRequest | ( | const DtRequestMsg & | msg | ) | [protected, virtual] |
Process messages.
References DtConnectionMgr::activateAutoProvideDelay(), addPendingRequestAttrs(), DtConnectionMgr::allProvideUpdateRequestsDelayed(), DtRequestMsg::attrHandles(), connectMgr(), DtConnectionMgr::delayAutoProvide(), DtAutoRequestById, DtRequestById, DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), DtRtiObject::filterOwned(), DtRequestMsg::id(), DtAttributeHandleSet::isEmpty(), DtRtiObject::isOfActualClass(), myOwnedObjs, NULL, DtRequestMsg::objectClassHandle(), DtRtiObject::objHandle(), ownedObj(), provideAttrValueUpdate(), DtRequestMsg::requestType(), and DtRequestMsg::tag().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processRequest | ( | const DtRequestMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processRequestDiscover | ( | const DtReqDiscObjMsg & | msg | ) | [protected, virtual] |
Process messages.
References addPendingDiscovery(), connectMgr(), DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), knownObj(), DtReqDiscObjMsg::objHandle(), DtRtiObject::objHandle(), params(), sendDiscoverMsg(), and sendNotDiscoveredMsgForSmartForwarding().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processRequestDiscover | ( | const DtReqDiscObjMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processResign | ( | const DtResignMsg & | msg | ) | [virtual] |
Process the resign message.
References attributeRelevanceSwitch(), DtFederateMgr::automaticResignDirective(), DtRtiObject::cancelAllRemoteRequests(), DtFomClassMgr::classByHandle(), connectMgr(), deleteObj(), DtConnectionMgr::fedAmb(), DtRtiMsg::federateHandle(), federateMgr(), fom(), rti1516e::SupplementalRemoveInfo::hasProducingFederate, DtRtiObject::id(), DtAttributeHandleSet::isEmpty(), myObjects, NULL, DtFomClassMgr::numClasses(), objectWasCreatedByFederate(), DtRtiObject::ownedAttrs(), DtRtiObject::ownerHandle(), rti1516e::SupplementalRemoveInfo::producingFederate, rti1516::RECEIVE, rti1516e::RECEIVE, DtRtiObject::removeDiscoveredClass(), RTI::FederateAmbassador::removeObjectInstance(), DtObjectClassInfo::removeSubscriptions(), DtRtiObject::requestedByFed(), DtResignMsg::resignAction(), DtAttributeHandleSet::size(), turnUpdatesOff(), and DtRtiObject::updateOnAttrs().
Referenced by DtFederateMgr::processResign().
| void DtObjectMgr::processSub | ( | const DtSubObjMsg & | msg | ) | [protected, virtual] |
Process messages.
References DtSubObjMsg::attrHandles(), DtFomClassMgr::classByHandle(), connectMgr(), DtRtiMsg::federateHandle(), fom(), DtSubObjMsg::isPassive(), DtSubObjMsg::objectClassHandle(), DtObjectClassInfo::remotePassiveSubscribe(), remotePassiveSubscribe(), DtObjectClassInfo::remoteSubscribe(), remoteSubscribe(), remoteUnsubscribe(), DtSubObjMsg::replacement(), and true.
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processSub | ( | const DtSubObjMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processUnpub | ( | const DtUnpubObjMsg & | msg | ) | [protected, virtual] |
Process messages.
References connectMgr(), DtRtiMsg::federateHandle(), and DtConnectionMgr::fedHandle().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processUnpub | ( | const DtUnpubObjMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processUnsub | ( | const DtUnsubObjMsg & | msg | ) | [protected, virtual] |
Process messages.
References DtUnsubObjMsg::attrHandles(), DtFomClassMgr::classByHandle(), connectMgr(), DtRtiMsg::federateHandle(), fom(), DtUnsubObjMsg::objectClassHandle(), remoteUnsubscribe(), and DtObjectClassInfo::remoteUnsubscribeAttributes().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processUnsub | ( | const DtUnsubObjMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::processUpdate | ( | const DtUpdateMsg & | msg | ) | [protected, virtual] |
Process messages.
References acceptObjectChannel(), DtObjectClassInfo::attrByHandle(), DtUpdateMsg::channel(), DtFomClassMgr::classByHandle(), DtUpdateMsg::classHandle(), connectMgr(), DtAttrInfo::dimensions(), DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), firstSubscribedClass(), fom(), DtUpdateMsg::getAttrs(), DtRtiMsg::hasTime(), invokeReflect(), DtRtiObject::knownClass(), knownObj(), DtRtiObject::markAsReflected(), myDeletedObjects, myIgnoreObjects, DtUpdateMsg::numAttrs(), DtUpdateMsg::objHandle(), DtUpdateMsg::objName(), DtRtiMsg::orderType(), params(), processNewObj(), rti1516::RECEIVE, DtRIDParameters::receiveTolerance, receiveTolerance, sendNotDiscoveredMsgForSmartForwarding(), DtRtiMsg::serialNumber(), DtUpdateMsg::tag(), DtRtiMsg::time(), rti1516::TIMESTAMP, rti1516e::TIMESTAMP, and DtRtiMsg::transportType().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
| void DtObjectMgr::processUpdate | ( | const DtUpdateMsg & | msg, |
| void * | usr | ||
| ) | [static, protected] |
Message callback methods to register with connection manager.
| void DtObjectMgr::provideAttrValueUpdate | ( | const DtRtiObject * | obj, |
| const DtAttributeHandleSet & | attrHandles, | ||
| char const * | tag | ||
| ) | [protected, virtual] |
Make the fedAmb call to provide attrValUpdate for this object.
References DtRtiObject::filterOwned(), DtAttributeHandleSet::isEmpty(), and DtRtiObject::objHandle().
Referenced by autoProvideAttrValueUpdate(), and processRequest().
| void DtObjectMgr::publish | ( | DtObjectClassHandle | theObject, |
| const DtAttributeHandleSet & | attributeList | ||
| ) | [virtual] |
Publish specified class attributes.
References DtAttributeHandleSet::add(), DtObjectClassInfo::attrByHandle(), DtFomClassMgr::classByHandle(), divestAllInstances(), DtPrivilegeToDelete, errorChecking, fom(), DtAttributeHandleSet::getHandle(), DtAttributeHandleSet::isMember(), params(), DtObjectClassInfo::publish(), DtObjectClassInfo::publishedAttrs(), DtAttributeHandleSet::removeSetIntersection(), sendPublishMsg(), DtAttributeHandleSet::size(), and throwIfAcquisitionPending().
| int DtObjectMgr::published | ( | DtObjectClassHandle | handle | ) | [virtual] |
Returns 1 if published the class, 0 otherwise.
References DtFomClassMgr::classByHandle(), fom(), and DtObjectClassInfo::published().
| void DtObjectMgr::purgeDeletedObjects | ( | ) | [protected, virtual] |
Purge entries for recently deleted objects that have timed out.
References myClock, and myDeletedObjects.
Referenced by postTick().
| void DtObjectMgr::queryOwnership | ( | DtObjectInstanceHandle | obj, |
| DtAttributeHandle | attr | ||
| ) | [virtual] |
Implements the queryAttributeOwnership service.
References DtObjectClassInfo::attrByHandle(), RTI::FederateAmbassador::attributeIsNotOwned(), RTI::FederateAmbassador::attributeOwnedByRTI(), connectMgr(), DtQueryOwner, DtConnectionMgr::fedAmb(), RTI::FederateAmbassador::informAttributeOwnership(), DtRtiObject::knownClass(), knownObj(), DtRtiObject::lrcManaged(), DtRtiObject::owned(), DtRtiObject::rtiOwned(), and sendOwnershipMsg().
| DtObjectInstanceHandle DtObjectMgr::registerObj | ( | DtObjectClassHandle | theClass, |
| const char * | name | ||
| ) | [virtual] |
Register a locally simulated object.
References uniqueHandle(), and useHlaNamePrefix().
Referenced by registerObj().
| DtObjectInstanceHandle DtObjectMgr::registerObj | ( | DtObjectClassHandle | theClass | ) | [virtual] |
Register a locally simulated object.
References getUniqueName(), objectName(), registerObj(), and uniqueHandle().
| DtRtiObject * DtObjectMgr::registerObj | ( | DtObjectClassHandle | theClass, |
| DtObjectInstanceHandle | objHandle, | ||
| const char * | name | ||
| ) | [protected, virtual] |
Register a locally simulated object.
References addAllObj(), addKnownObj(), addLrcManagedObj(), addOwnedObj(), allObj(), DtFomClassMgr::classByHandle(), connectMgr(), DtRtiObject::createRegisteredObject(), DtPrivilegeToDelete, DtResetOwner, DtConnectionMgr::fedHandle(), fom(), DtRtiObject::initUpdateRates(), DtRtiObject::lrcManagedAttrs(), myClock, DtRtiObject::objHandle(), DtRtiObject::ownPriviledgeToDelete(), params(), DtObjectClassInfo::published(), sendOwnershipMsg(), sendRegister(), DtRtiObject::setAllDestinations(), DtRtiObject::setOwnerHandle(), DtRtiObject::setTimeToUseDestinations(), and DtAttributeHandleSet::size().
| void DtObjectMgr::releaseAllAttributes | ( | DtRtiObject * | object | ) | [protected, virtual] |
Release (unconditionally) all owned and LRC managed attributes Only used during a resign.
References DtRtiObject::actualClassHandle(), connectMgr(), DtConnectionMgr::create(), DtGiveToLRC, DtOwnershipMsgKind, DtRtiObject::lrcManagedAttrs(), DtRtiObject::objHandle(), DtRtiObject::objName(), DtRtiObject::ownedAttrs(), DtRtiObject::rtiOwnedAttrs(), DtConnectionMgr::sendStampedAndDelete(), DtOwnershipMsg::set(), DtOwnershipMsg::setClassHandle(), DtAttributeHandleSet::setUnion(), and DtAttributeHandleSet::size().
| void DtObjectMgr::releaseOwnership | ( | DtRtiObject * | obj, |
| const DtAttributeHandleSet & | attrs | ||
| ) | [protected, virtual] |
Releases ownership of the specified attributes to the LRC Used when unpublishing.
References RTI::FederateAmbassador::attributeOwnershipDivestitureNotification(), connectMgr(), DtRtiObject::divestRemoteSubscriptions(), DtNotifyAcquire, DtUncondDivest, DtConnectionMgr::fedAmb(), DtRtiObject::giveToLrc(), DtAttributeHandleSet::isEmpty(), DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), DtRtiObject::releaseRequested(), removeOwnedObj(), DtAttributeHandleSet::removeSetIntersection(), sendOwnershipMsg(), DtAttributeHandleSet::setUnion(), and DtAttributeHandleSet::size().
Referenced by divestAllInstances().
| DtAttributeHandleSet * DtObjectMgr::releaseResponse | ( | DtObjectInstanceHandle | objHand, |
| const DtAttributeHandleSet & | attrs | ||
| ) | [virtual] |
Respond to an attribute acquisition.
References DtObjectClassInfo::allAttrs(), DtNotifyAcquire, DtAttributeHandleSet::getHandle(), DtAttributeHandleSet::isMember(), DtRtiObject::isRequestCanceled(), DtRtiObject::knownClass(), knownObj(), DtRtiObject::owned(), DtRtiObject::pendingRemoteRequest(), DtRtiObject::releaseRequested(), sendOwnershipMsg(), DtAttributeHandleSet::setUnion(), and DtAttributeHandleSet::size().
| void DtObjectMgr::remotePassiveSubscribe | ( | DtObjectClassInfo & | classDesc, |
| const DtAttributeHandleSet & | attrs, | ||
| DtFederateHandle | fedHandle, | ||
| bool | isReplacement | ||
| ) | [protected, virtual] |
Track passive subscriptions ( no effect on advisories )
References DtObjectClassInfo::handle(), ownedObjects(), and params().
Referenced by processSub().
| void DtObjectMgr::remoteSubscribe | ( | DtObjectClassInfo & | classDesc, |
| const DtAttributeHandleSet & | attrs, | ||
| DtFederateHandle | fedHandle, | ||
| bool | isReplacement | ||
| ) | [protected, virtual] |
Add a remote subscription to object known database and determine effects on advisories.
References attributeRelevanceSwitch(), DtObjectClassInfo::handle(), ownedObjects(), params(), DtObjectClassInfo::remoteSubscription(), DtRtiObject::remoteUnsubscribe(), DtAttributeHandleSet::removeSetIntersection(), DtAttributeHandleSet::size(), turnUpdatesOff(), and turnUpdatesOn().
Referenced by processSub().
| void DtObjectMgr::remoteUnsubscribe | ( | DtObjectClassHandle | classHandle, |
| const DtAttributeHandleSet & | attrs, | ||
| DtFederateHandle | fedHandle | ||
| ) | [protected, virtual] |
Remove a remote subscription to object known database and determine effects on advisories.
References attributeRelevanceSwitch(), DtRtiObject::isDiscovered(), ownedObjects(), and turnUpdatesOff().
Referenced by processSub(), and processUnsub().
| void DtObjectMgr::removeAllObj | ( | DtObjectInstanceHandle | obj | ) | [virtual] |
Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.
References allObj(), myObjects, myObjectsByName, DtRtiObject::objHandle(), and DtRtiObject::objName().
Referenced by deleteObj(), destroyObjectLists(), removeFromAllLists(), retainTsoDeletedObj(), and retainTsoRemovedObj().
| void DtObjectMgr::removeClassMulticast | ( | DtObjectClassInfo * | classDesc, |
| float | rate = -1.0 |
||
| ) | [protected, virtual] |
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.
References connectMgr(), DtObjectClassInfo::destinationAddress(), DtConnectionMgr::dropMulticastGroup(), DtRIDParameters::enableUpdateRateReduction, fom(), DtObjectClassInfo::maxSubscribedRate(), params(), DtFomClassMgr::positionOfRate(), and DtObjectClassInfo::subclasses().
Referenced by unsubscribeAttributes().
| bool DtObjectMgr::removedObjectIsRetained | ( | DtObjectInstanceHandle | objectHandle | ) | [protected, virtual] |
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?
References objectHandle().
Referenced by discoverObject().
| void DtObjectMgr::removeFromAllLists | ( | DtRtiObject * | object | ) | [virtual] |
Remove an object from all lists.
References DtRtiObject::objHandle(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), and removeOwnedObj().
| void DtObjectMgr::removeKnownObj | ( | DtObjectInstanceHandle | obj | ) | [virtual] |
Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.
References knownObj(), myKnownObjs, myKnownObjsByName, DtRtiObject::objHandle(), DtRtiObject::objName(), and DtRtiObject::setIsKnown().
Referenced by deleteObj(), destroyObjectLists(), localDeleteObj(), removeFromAllLists(), retainTsoDeletedObj(), and retainTsoRemovedObj().
| 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.
References lrcManagedObj(), myLrcManagedObjs, myLrcManagedObjsByName, DtRtiObject::objHandle(), and DtRtiObject::objName().
Referenced by deleteObj(), destroyObjectLists(), processOwnership(), removeFromAllLists(), retainTsoDeletedObj(), and retainTsoRemovedObj().
| void DtObjectMgr::removeObjectAssociations | ( | DtRtiObject & | object | ) | [protected, virtual] |
Remove associations to this object (e.g., regions)
Referenced by destroyObjectLists(), localDeleteObj(), and processDelete().
| 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.
References myOwnedObjs, myOwnedObjsByName, DtRtiObject::objHandle(), DtRtiObject::objName(), and ownedObj().
Referenced by deleteObj(), destroyObjectLists(), processOwnership(), releaseOwnership(), removeFromAllLists(), retainTsoDeletedObj(), and retainTsoRemovedObj().
| 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.
References DtObjectClassInfo::attrByHandle(), DtFomClassMgr::classByHandle(), DtRequestByClass, fom(), DtAttributeHandleSet::getHandle(), sendRequestMsg(), and DtAttributeHandleSet::size().
| void DtObjectMgr::requestObjectUpdate | ( | DtObjectInstanceHandle | theObject, |
| const DtAttributeHandleSet & | theAttributes, | ||
| char const * | tag = DtRtiMsg::theDefaultTag |
||
| ) | [virtual] |
Request an attribute value update for an object.
References DtObjectClassInfo::allAttrs(), DtRequestById, DtRtiObject::knownClass(), DtAttributeHandleSet::removeSetIntersection(), and DtAttributeHandleSet::size().
| void DtObjectMgr::resendRegister | ( | DtRtiObject * | obj | ) | [virtual] |
Re-sends register information, if DDM is active then this information could include region and region association information.
Overridden in DtObjectDataDistMgr
References sendRegisterMsg().
Referenced by processLocDelete(), and sendPendingRegister().
| void DtObjectMgr::resetOwner | ( | DtFederateHandle | fedHandle, |
| DtObjectInstanceHandle | objHandle | ||
| ) | [protected, virtual] |
Reset the owner of the object.
References allObj(), and DtRtiObject::setOwnerHandle().
Referenced by processOwnership().
| bool DtObjectMgr::restore | ( | DtRtiSaveFile & | file | ) | [virtual] |
Restore the state information from the given file.
References DtObjectMgrPacket::attributeRelevance, DtObjectMgrPacket::attributeScope, DtObjectMgrPacket::classRelevance, DtRtiSaveObjMgrType, DtObjectMgrPacket::freeObjHandle, DtObjectMgrPacket::header, myAttributeRelevanceSwitch, myAttributeScopeSwitch, myClassRelevanceSwitch, myFreeObjHandle, DtObjectMgrPacket::numberNamesInUse, DtObjectMgrPacket::numberReservedNames, DtObjectMgrPacket::numberReservedNamesInUse, DtSaveDataHeader::packetType, DtRtiSaveFile::readNextPacket(), and restoreObjectList().
Referenced by DtRtiExecFederateMgr::restoreLRC().
| 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
References myRestoreInProgress.
Referenced by addPendingRegister(), addPendingRegisterForObject(), attributeRelevanceSwitch(), attributeScopeSwitch(), and classRelevanceSwitch().
| bool DtObjectMgr::restoreObjectList | ( | DtRtiSaveFile & | file | ) | [protected, virtual] |
restore the list of known and owned objects
References addAllObj(), addKnownObj(), addLrcManagedObj(), addOwnedObj(), DtRtiObject::createEmptyObject(), DtRtiObject::decode(), DtRtiSaveObjectType, DtRtiSaveTerminateType, fom(), DtObjectPacket::header, DtRtiObject::isKnown(), DtRtiObject::lrcManagedAttrs(), DtRtiObject::ownedAttrs(), DtSaveDataHeader::packetType, DtRtiSaveFile::readNextPacket(), and DtAttributeHandleSet::size().
Referenced by restore().
| void DtObjectMgr::retainTsoDeletedObj | ( | DtRtiObject * | obj, |
| RTI::FedTime const & | time | ||
| ) | [protected, virtual] |
TSO deleted object was prematurely deleted when regulation disabled Hold onto it until deletion time passes in order to process discovery.
References connectMgr(), DtConnectionMgr::logicalTimeFactory(), DtLogicalTimeFactory::makeInitial(), DtRtiObject::objHandle(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), and removeOwnedObj().
| void DtObjectMgr::retainTsoRemovedObj | ( | DtRtiObject * | obj, |
| RTI::FedTime const & | time | ||
| ) | [protected, virtual] |
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
References connectMgr(), DtConnectionMgr::logicalTimeFactory(), DtLogicalTimeFactory::makeInitial(), DtRtiObject::objHandle(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), and removeOwnedObj().
| bool DtObjectMgr::save | ( | DtRtiSaveFile & | file | ) | [virtual] |
DDM.
Save the state information to the given file
References DtObjectMgrPacket::attributeRelevance, DtObjectMgrPacket::attributeScope, DtObjectMgrPacket::classRelevance, DtRtiSaveObjMgrType, DtObjectMgrPacket::freeObjHandle, DtObjectMgrPacket::header, myAttributeRelevanceSwitch, myAttributeScopeSwitch, myClassRelevanceSwitch, myFreeObjHandle, DtObjectMgrPacket::numberNamesInUse, DtObjectMgrPacket::numberReservedNames, DtObjectMgrPacket::numberReservedNamesInUse, DtSaveDataHeader::packetSize, DtSaveDataHeader::packetType, saveObjectList(), savePacketLength(), and DtRtiSaveFile::writePacket().
Referenced by DtRtiExecFederateMgr::saveLRC().
| bool DtObjectMgr::saveObjectList | ( | DtRtiSaveFile & | file | ) | [protected, virtual] |
save out the list of of known and owned objects
References DtPrivilegeToDelete, DtRtiSaveTerminateType, DtRtiObject::encode(), DtRtiObject::encodedLength(), myObjects, NULL, DtSaveDataHeader::packetSize, DtSaveDataHeader::packetType, DtRtiObject::rtiOwned(), and DtRtiSaveFile::writePacket().
Referenced by save().
| unsigned long DtObjectMgr::savePacketLength | ( | ) | [protected, virtual] |
Return the length of buffer needed to save the state data.
Referenced by save().
| void DtObjectMgr::sendBestEffortUpdateMsg | ( | DtRtiObject * | obj, |
| const DtAhvps & | theAttrs, | ||
| DtOrderHandle | orderType, | ||
| RTI::FedTime const * | theTime, | ||
| char const * | tag, | ||
| unsigned long | serialNumber, | ||
| const MAKRti::DtInetAddr & | destAddr, | ||
| unsigned int | offset = 0 |
||
| ) | [protected, virtual] |
Send various types of RTI messages.
References DtRtiObject::actualClass(), DtRtiObject::actualClassHandle(), connectMgr(), DtConnectionMgr::create(), DtUpdateRoMsgKind, DtUpdateTsoMsgKind, DtRtiObject::getDestinations(), DtBitMask::isEmpty(), DtRtiMsg::kindToString(), DtRtiMsg::msgKind(), NULL, DtRtiObject::objHandle(), DtRtiObject::objName(), params(), sendUpdateMessage(), DtUpdateRoMsg::set(), and DtRtiObject::updateType().
| unsigned long DtObjectMgr::sendDeleteMsg | ( | DtObjectInstanceHandle | handle, |
| DtOrderHandle | orderType, | ||
| RTI::FedTime const * | theTime, | ||
| char const * | tag | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References DtMultiNameReservedMsg::create(), DtDeleteRoMsgKind, DtDeleteTsoMsgKind, NULL, DtDeleteRoMsg::set(), and DtRtiMsg::setFederateHandle().
| void DtObjectMgr::sendDiscoverMsg | ( | DtObjectInstanceHandle | objHandle, |
| DtObjectClassHandle | classHandle, | ||
| DtFederateHandle | owner | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtDiscObjMsgKind, params(), DtConnectionMgr::sendStampedAndDelete(), and DtDiscObjMsg::set().
Referenced by addPendingDiscovery(), discoverObject(), and processRequestDiscover().
| void DtObjectMgr::sendLocalDeleteMsg | ( | DtObjectInstanceHandle | handle | ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtLocDelMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtLocDelMsg::set().
Referenced by localDeleteObj().
| 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.
References addPendingDiscovery(), DtObjectClassInfo::allAttrs(), DtObjectClassInfo::attrTransport(), DtRIDParameters::DtFomTransportTypeUseReliable, DtAttributeHandleSet::getHandle(), DtObjectClassInfo::handle(), params(), sendRemoveDiscoverMsg(), and DtAttributeHandleSet::size().
Referenced by processRegister(), processRequestDiscover(), processUpdate(), and sendNotDiscoveredMsgForSmartForwarding().
| void DtObjectMgr::sendNotDiscoveredMsgForSmartForwarding | ( | DtObjectInstanceHandle | handle, |
| const DtObjectClassInfo & | classInfo, | ||
| DtFederateHandle | federate, | ||
| const DtAhvps * | attributes | ||
| ) | [virtual] |
| void DtObjectMgr::sendOwnershipMsg | ( | DtOwnerMsgKind | kind, |
| DtObjectInstanceHandle | objHand, | ||
| const DtAttributeHandleSet & | attrs, | ||
| DtFederateHandle | targetFed = 0, |
||
| char const * | tag = DtRtiMsg::theDefaultTag |
||
| ) | [protected, virtual] |
Send various types of RTI messages.
References DtQueryInterTransportMsg::create(), DtOwnershipMsgKind, and DtOwnershipMsg::set().
Referenced by cancelAcquire(), notifyDivestedAttributes(), processCancelAcquire(), processDiscover(), processGiveToLrc(), processNotifyAcquire(), processQueryOwner(), queryOwnership(), registerObj(), releaseOwnership(), and releaseResponse().
| void DtObjectMgr::sendOwnershipMsg | ( | DtOwnerMsgKind | kind, |
| DtObjectInstanceHandle | objHand, | ||
| const DtAttributeHandle | attr, | ||
| DtFederateHandle | targetFed = 0, |
||
| char const * | tag = DtRtiMsg::theDefaultTag |
||
| ) | [protected, virtual] |
Send various types of RTI messages.
References DtQueryInterTransportMsg::create(), DtOwnershipMsgKind, and DtOwnershipMsg::set().
| void DtObjectMgr::sendPendingDiscoveries | ( | ) | [protected, virtual] |
Send pending discoveries.
References connectMgr(), DtConnectionMgr::create(), DtDiscObjMsgKind, myClock, myNextPendingDiscTime, myPendingDiscoveries, myPendingNonDiscoveries, params(), DtConnectionMgr::sendStampedAndDelete(), DtDiscObjMsg::setClassHandle(), DtDiscObjMsg::setObjHandles(), DtDiscObjMsg::setOwnerHandle(), and DtDiscObjMsg::setRemoveDiscover().
Referenced by postTick().
| void DtObjectMgr::sendPendingRegister | ( | ) | [protected, virtual] |
Send pending Register.
References DtRtiObject::actualClass(), connectMgr(), DtObjectClassInfo::isOfClass(), myOwnedObjs, myPendingInstRegisterList, myPendingRegisterList, NULL, ownedObj(), and resendRegister().
Referenced by postTick().
| void DtObjectMgr::sendPendingRemovals | ( | ) | [protected, virtual] |
Send pending object removals.
References connectMgr(), DtConnectionMgr::fedAmb(), federateMgr(), fom(), rti1516e::SupplementalRemoveInfo::hasProducingFederate, myPendingRemovals, NULL, rti1516e::SupplementalRemoveInfo::producingFederate, rti1516::RECEIVE, rti1516e::RECEIVE, and RTI::FederateAmbassador::removeObjectInstance().
Referenced by postTick().
| void DtObjectMgr::sendPendingRequestAttributes | ( | ) | [protected, virtual] |
Send pending request attribute value.
References connectMgr(), DtConnectionMgr::fedAmb(), DtRtiObject::filterOwned(), DtAttributeHandleSet::isEmpty(), myPendingRequestAttrs, DtRtiObject::objHandle(), ownedObj(), and RTI::FederateAmbassador::provideAttributeValueUpdate().
Referenced by postTick().
| void DtObjectMgr::sendPendingStartReg | ( | ) | [protected, virtual] |
Send pending startRegistration.
References connectMgr(), DtConnectionMgr::fedAmb(), myPendingStartRegList, and RTI::FederateAmbassador::startRegistrationForObjectClass().
Referenced by postTick().
| void DtObjectMgr::sendPendingStartUpdates | ( | ) | [protected, virtual] |
Send pending startUpdates.
References connectMgr(), DtConnectionMgr::fedAmb(), myPendingStartUpdatesList, DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), ownedObj(), DtAttributeHandleSet::setIntersection(), and RTI::FederateAmbassador::turnUpdatesOnForObjectInstance().
Referenced by postTick().
| void DtObjectMgr::sendPendingStopReg | ( | ) | [protected, virtual] |
Send pending stopRegistration.
References DtFomClassMgr::classByHandle(), connectMgr(), DtConnectionMgr::fedAmb(), fom(), myPendingStopRegList, DtObjectClassInfo::published(), and RTI::FederateAmbassador::stopRegistrationForObjectClass().
Referenced by postTick().
| void DtObjectMgr::sendPendingStopUpdates | ( | ) | [protected, virtual] |
Send pending stopUpdates.
References connectMgr(), DtConnectionMgr::fedAmb(), DtRtiObject::knownClassHandle(), myOwnedObjs, myPendingStopUpdatesList, DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), DtAttributeHandleSet::setIntersection(), and RTI::FederateAmbassador::turnUpdatesOffForObjectInstance().
Referenced by postTick().
| void DtObjectMgr::sendPendingSubscription | ( | ) | [protected, virtual] |
Send pending subscription class retransmissions.
References DtFomClassMgr::classByHandle(), connectMgr(), fom(), DtObjectClassInfo::handle(), DtAttributeHandleSet::isEmpty(), myRetransmitSubClass, sendSubscribeMsg(), and DtObjectClassInfo::subscribedActiveAttrs().
Referenced by postTick().
| void DtObjectMgr::sendPublishMsg | ( | DtObjectClassHandle | handle, |
| const DtAttributeHandleSet & | theSet | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtPubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtPubObjMsg::set().
Referenced by publish().
| 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
References sendRegisterMsg().
Referenced by registerObj().
| void DtObjectMgr::sendRegisterMsg | ( | DtRtiObject * | object | ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtRegObjMsgKind, DtUpdateFederateObject, DtUpdateMomFederateObject, DtUpdateMomFederationObject, DtConnectionMgr::handleMsg(), DtConnectionMgr::incrementSequenceNumber(), DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), DtConnectionMgr::sendStampedAndDelete(), DtConnectionMgr::sendStampedAnonymousAndDelete(), DtRegObjMsg::set(), DtRtiMsg::setFederateHandle(), DtRtiMsg::setSequenceNumber(), and DtRtiObject::updateType().
Referenced by resendRegister(), and sendRegister().
| void DtObjectMgr::sendReliableUpdateMsg | ( | DtRtiObject * | obj, |
| const DtAhvps & | theAttrs, | ||
| DtOrderHandle | orderType, | ||
| RTI::FedTime const * | theTime, | ||
| char const * | tag, | ||
| unsigned long | serialNumber | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References DtRtiObject::actualClass(), DtRtiObject::actualClassHandle(), connectMgr(), DtConnectionMgr::create(), DtUpdateRoMsgKind, DtUpdateTsoMsgKind, DtRtiObject::getDestinations(), DtRtiMsg::kindToString(), DtRtiMsg::msgKind(), NULL, DtRtiObject::objHandle(), DtRtiObject::objName(), params(), sendUpdateMessage(), DtRtiMtdDestinationList::set(), DtUpdateRoMsg::set(), and DtRtiObject::updateType().
| void DtObjectMgr::sendRemoveDiscoverMsg | ( | DtObjectInstanceHandle | objHandle, |
| DtObjectClassHandle | classHandle = 0 |
||
| ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtDiscObjMsgKind, params(), DtConnectionMgr::sendStampedAndDelete(), and DtDiscObjMsg::set().
Referenced by addPendingDiscovery(), processRegister(), and sendNotDiscoveredMsgForSmartForwarding().
| void DtObjectMgr::sendRequestDiscoverMsg | ( | DtObjectInstanceHandle | objHandle, |
| DtObjectClassHandle | classHandle | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtReqDiscObjMsgKind, params(), DtConnectionMgr::sendStampedAndDelete(), and DtReqDiscObjMsg::set().
Referenced by processNotifyAcquire().
| void DtObjectMgr::sendRequestMsg | ( | DtRequestType | type, |
| unsigned long | idOrClass, | ||
| const DtAttributeHandleSet & | theSet, | ||
| char const * | tag, | ||
| bool | anonymous, | ||
| DtHandle | regionSetHandle = DtRtiMsg::theDefaultRegionSetHandle |
||
| ) | [protected, virtual] |
Send various types of RTI messages.
References DtMultiNameReservedMsg::create(), DtRequestMsgKind, and DtRequestMsg::set().
Referenced by discoverObject(), and requestClassUpdate().
| void DtObjectMgr::sendSubscribeMsg | ( | DtObjectClassHandle | theObj, |
| bool | isPassive, | ||
| bool | replacement, | ||
| const DtAttributeHandleSet & | theSet | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtSubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtSubObjMsg::set().
Referenced by processPub(), sendPendingSubscription(), and subscribe().
| void DtObjectMgr::sendUnpublishMsg | ( | DtObjectInstanceHandle | handle, |
| const DtAttributeHandleSet & | theSet | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtUnpubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtUnpubObjMsg::set().
Referenced by unpublishAttributes().
| void DtObjectMgr::sendUnsubscribeMsg | ( | DtObjectClassHandle | handle, |
| const DtAttributeHandleSet & | theSet | ||
| ) | [protected, virtual] |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtUnsubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtUnsubObjMsg::set().
Referenced by unsubscribeAttributes().
| 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.
References DtRtiObject::actualClass(), DtObjectClassInfo::attrByHandle(), errorChecking, and DtRtiObject::owned().
| 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.
References DtRtiObject::attrHasDimensions(), dataDistMgmt, ddmFixedGrid, DtRIDParameters::DtFomTransportTypeUseBestEffort, DtRIDParameters::DtFomTransportTypeUseFomSettings, DtRIDParameters::DtFomTransportTypeUseReliable, DtUpdateMomFederateObject, DtUpdateMomFederationObject, enableUpdateRateReduction, DtObjectClassInfo::handle(), NULL, DtRtiObject::regionSetHandle(), DtRtiObject::updateType(), and useRtiExec.
| void DtObjectMgr::sendUpdateMessage | ( | DtUpdateMsg * | update, |
| DtObjectClassInfo * | classDesc, | ||
| DtUpdateType | updateType, | ||
| MAKRti::DtTransportType | trans, | ||
| unsigned int | numberAttrs, | ||
| MAKRti::DtInetAddr | destAddr = DtInetAddr::inaddrAny(), |
||
| unsigned int | offset = 0 |
||
| ) | [protected, virtual] |
Send update message.
References connectMgr(), DtObjectClassInfo::destinationAddress(), DtUpdateMomFederateObject, DtUpdateMomFederationObject, DtObjectClassInfo::handle(), DtConnectionMgr::handleMsg(), DtConnectionMgr::incrementSequenceNumber(), DtConnectionMgr::sendStampedAndDelete(), DtConnectionMgr::sendStampedAnonymousAndDelete(), DtRtiMsg::setSequenceNumber(), and DtRtiMsg::setTransportType().
Referenced by sendBestEffortUpdateMsg(), and sendReliableUpdateMsg().
| void DtObjectMgr::setAttributeOrderType | ( | DtObjectInstanceHandle | theObject, |
| const DtAttributeHandleSet & | theAttributes, | ||
| MAKRti::DtOrderType | theType | ||
| ) | [virtual] |
Set the order type of the attribute instance.
References DtRIDParameters::errorChecking, DtAttributeHandleSet::getHandle(), knownObj(), DtRtiObject::owned(), params(), DtRtiObject::setAttrOrder(), and DtAttributeHandleSet::size().
| void DtObjectMgr::setAttributeRelevanceSwitch | ( | bool | enableSwitch | ) | [virtual] |
Set/Get value of attributeRelevanceAdvisorySwitch.
References myAttributeRelevanceSwitch.
Referenced by disableAttributeRelevanceSwitch(), and enableAttributeRelevanceSwitch().
| void DtObjectMgr::setAttributeScopeSwitch | ( | bool | enableSwitch | ) | [virtual] |
Set/Get value of attributeScopeAdvisorySwitch.
References myAttributeScopeSwitch.
Referenced by disableAttributeScopeSwitch(), and enableAttributeScopeSwitch().
| void DtObjectMgr::setAttributeTransportType | ( | DtObjectInstanceHandle | theObject, |
| const DtAttributeHandleSet & | theAttributes, | ||
| MAKRti::DtTransportType | theType | ||
| ) | [virtual] |
Set the transport type of the attribute instance.
References connectMgr(), DtRIDParameters::errorChecking, DtConnectionMgr::fedAmb(), DtAttributeHandleSet::getHandle(), knownObj(), DtRtiObject::objHandle(), DtRtiObject::owned(), params(), DtRtiObject::setAttrTransport(), and DtAttributeHandleSet::size().
| void DtObjectMgr::setClassRelevanceSwitch | ( | bool | enableSwitch | ) | [virtual] |
Set/Get value of classRelevanceAdvisorySwitch.
References myClassRelevanceSwitch.
Referenced by disableClassRelevanceSwitch(), and enableClassRelevanceSwitch().
| void DtObjectMgr::setCreatorFunction | ( | DtObjectMgrCreator | creator | ) | [static] |
Register a creator function.
When set, it will be used to create the Object Manager.
References create(), DtBindCreator(), and theCreator.
| void DtObjectMgr::setDiscoveredClass | ( | DtRtiObject & | object, |
| DtFederateHandle | federateHandle, | ||
| DtObjectClassHandle | classHandle | ||
| ) | [protected, virtual] |
Set the remote federate's discovered class and update the object's remote subscription information.
References DtFomClassMgr::classByHandle(), and fom().
Referenced by collectRemoteSubscriptions(), and processDiscover().
| 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.
References create(), and theInternalCreator.
| 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
References myRestoreInProgress.
| void DtObjectMgr::subscribe | ( | DtObjectClassHandle | theClass, |
| const DtAttributeHandleSet & | attributeList, | ||
| bool | active | ||
| ) | [virtual] |
Subscribe specified class attributes.
References addClassMulticast(), DtObjectClassInfo::attrByHandle(), DtFomClassMgr::classByHandle(), errorChecking, fom(), DtAttributeHandleSet::getHandle(), params(), sendSubscribeMsg(), DtAttributeHandleSet::size(), DtObjectClassInfo::subscribe(), and DtObjectClassInfo::subscribed().
| int DtObjectMgr::subscribed | ( | DtObjectClassHandle | handle | ) | [virtual] |
Returns 1 if subscribed to the class, 0 otherwise.
References DtFomClassMgr::classByHandle(), fom(), and DtObjectClassInfo::subscribed().
| void DtObjectMgr::testResign | ( | RTI::ResignAction const & | theAction | ) |
Called when resigning from a federation to test conditions and to delete owned objects.
References RTI::DELETE_OBJECTS, RTI::DELETE_OBJECTS_AND_RELEASE_ATTRIBUTES, RTI::NO_ACTION, numObjectsOwned(), ownedObjects(), and RTI::RELEASE_ATTRIBUTES.
Referenced by DtFederateMgr::testResign().
| void DtObjectMgr::throwIfAcquisitionPending | ( | DtObjectClassHandle | classHand, |
| const DtAttributeHandleSet & | attrs | ||
| ) | [protected, virtual] |
If an acquisition request is pending for an attributes in attrs for any objects known at class classHand, throw RTI::OwnershipAcquisitionPending.
References DtRtiObject::ifAvailRequestedAttrs(), DtRtiObject::knownClassHandle(), myObjects, DtAttributeHandleSet::setIntersection(), DtAttributeHandleSet::setUnion(), DtAttributeHandleSet::size(), and DtRtiObject::uncondRequestedAttrs().
Referenced by publish(), and unpublishAttributes().
| 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.
References connectMgr(), DtConnectionMgr::fedAmb(), DtAttributeHandleSet::removeSetIntersection(), DtAttributeHandleSet::size(), and RTI::FederateAmbassador::turnUpdatesOffForObjectInstance().
Referenced by collectRemoteSubscriptions(), processDiscover(), processResign(), remoteSubscribe(), and remoteUnsubscribe().
| 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.
References connectMgr(), DtConnectionMgr::fedAmb(), DtAttributeHandleSet::removeSetIntersection(), DtAttributeHandleSet::size(), and RTI::FederateAmbassador::turnUpdatesOnForObjectInstance().
Referenced by collectRemoteSubscriptions(), processDiscover(), processNotifyAcquire(), and remoteSubscribe().
| DtObjectInstanceHandle DtObjectMgr::uniqueHandle | ( | ) | [virtual] |
Returns an ObjectHandle that is unique across the federation.
Uniqueness isn't truly guaranteed unless you're using rtiexec mode.
References DtToWString(), findReusableHandle(), DtRIDParameters::maxObjectsPerFederate(), myFreeObjHandle, myReuseIds, nextOffsetId(), params(), DtAssistantPopupHelper::popupAssistantMessage(), and DtRIDParameters::reuseReleasedObjectHandles.
Referenced by registerObj().
| void DtObjectMgr::unpublishAttributes | ( | DtObjectClassHandle | theClass, |
| DtAttributeHandleSet const & | attributeList | ||
| ) | [virtual] |
Explicit unpublish of specified attributes.
References DtFomClassMgr::classByHandle(), and fom().
Referenced by unpublishClass().
| 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.
References DtAttributeHandleSet::add(), divestAllInstances(), DtPrivilegeToDelete, DtObjectClassInfo::handle(), DtAttributeHandleSet::isMember(), DtObjectClassInfo::published(), DtObjectClassInfo::publishedAttrs(), sendUnpublishMsg(), throwIfAcquisitionPending(), and DtObjectClassInfo::unpublishAttributes().
| void DtObjectMgr::unpublishClass | ( | DtObjectClassHandle | theObject | ) | [virtual] |
Unpublishes all attributes but privilege to delete is implicit.
References DtObjectClassInfo::allAttrs(), DtFomClassMgr::classByHandle(), fom(), and unpublishAttributes().
| void DtObjectMgr::unsubscribeAttributes | ( | DtObjectClassHandle | theClass, |
| DtAttributeHandleSet const & | attributeList | ||
| ) | [virtual] |
Unsubscribe specified class attributes.
References DtObjectClassInfo::attrByHandle(), DtFomClassMgr::classByHandle(), errorChecking, fom(), DtAttributeHandleSet::getHandle(), params(), DtAttributeHandleSet::size(), and DtObjectClassInfo::subscribed().
Referenced by unsubscribeClass().
| void DtObjectMgr::unsubscribeAttributes | ( | DtObjectClassInfo & | classDesc, |
| DtAttributeHandleSet const & | attributeList | ||
| ) | [virtual] |
Unsubscribe specified class attributes.
References DtObjectClassInfo::handle(), removeClassMulticast(), sendUnsubscribeMsg(), DtObjectClassInfo::subscribed(), and DtObjectClassInfo::unsubscribeAttributes().
| void DtObjectMgr::unsubscribeClass | ( | DtObjectClassHandle | theClass | ) | [virtual] |
Unsubscribe from all attributes of specified class.
References DtObjectClassInfo::allAttrs(), DtFomClassMgr::classByHandle(), fom(), DtObjectClassInfo::subscribed(), and unsubscribeAttributes().
| bool DtObjectMgr::useHlaNamePrefix | ( | ) | [virtual] |
Get switch to use HLA prefix for object names.
References params().
Referenced by DtObjectMgr(), and registerObj().
DtAddrMap DtObjectMgr::myAddrMap [protected] |
Map of routing addresses by region set handle.
Referenced by destroyObjectLists().
bool DtObjectMgr::myAttributeRelevanceSwitch [protected] |
Advisory switches.
Referenced by attributeRelevanceSwitch(), DtObjectMgr(), restore(), save(), and setAttributeRelevanceSwitch().
bool DtObjectMgr::myAttributeScopeSwitch [protected] |
Advisory switches.
Referenced by attributeScopeSwitch(), DtObjectMgr(), restore(), save(), and setAttributeScopeSwitch().
bool DtObjectMgr::myClassRelevanceSwitch [protected] |
Advisory switches.
Referenced by classRelevanceSwitch(), DtObjectMgr(), restore(), save(), and setClassRelevanceSwitch().
MAKRti::DtClock DtObjectMgr::myClock [protected] |
Clock for timing.
Referenced by processDelete(), processNotifyAcquire(), purgeDeletedObjects(), registerObj(), and sendPendingDiscoveries().
std::map<DtObjectInstanceHandle, MAKRti::DtTime> DtObjectMgr::myDeletedObjects [protected] |
Set of objects that have been recently deleted that will not be discovered via update.
Referenced by processDelete(), processUpdate(), and purgeDeletedObjects().
DtFederateMgr* DtObjectMgr::myFederateMgr [protected] |
Access to the federate manager.
Referenced by DtObjectMgr(), and federateMgr().
DtHandle DtObjectMgr::myFreeObjHandle [protected] |
The next free object handle.
Referenced by findReusableHandle(), nextOffsetId(), restore(), save(), and uniqueHandle().
MAKRti::DtString DtObjectMgr::myHlaNamePrefix [protected] |
The HLA object instance name prefix.
Referenced by DtObjectMgr(), and getUniqueName().
DtObjHandleSet DtObjectMgr::myIgnoreObjects [protected] |
Set of object handles whose next updates should be ignored.
Referenced by ignoreNextUpdate(), and processUpdate().
bool DtObjectMgr::myIsJoined [protected] |
Manager has performed join processing.
Referenced by isPostJoined(), and postJoinInit().
MAKRti::DtHashList DtObjectMgr::myKnownObjs [protected] |
List of known objects by handle.
Referenced by addKnownObj(), findReusableHandle(), knownObj(), knownObjects(), and removeKnownObj().
MAKRti::DtHashList DtObjectMgr::myKnownObjsByName [protected] |
List of known objects by name.
Referenced by addKnownObj(), knownObj(), and removeKnownObj().
Post processing lists.
Referenced by localDeleteObj(), and processRegister().
MAKRti::DtHashList DtObjectMgr::myLrcManagedObjs [protected] |
List of LRC owned objects by handle.
Referenced by addLrcManagedObj(), lrcManagedObj(), lrcManagedObjects(), and removeLrcManagedObj().
MAKRti::DtHashList DtObjectMgr::myLrcManagedObjsByName [protected] |
List of LRC owned objects by name.
Referenced by addLrcManagedObj(), lrcManagedObj(), and removeLrcManagedObj().
DtTime DtObjectMgr::myNextPendingDiscTime [protected] |
Next time we should send pending discovery messages.
Referenced by sendPendingDiscoveries().
MAKRti::DtHashList DtObjectMgr::myObjects [protected] |
List of all objects by handle.
Referenced by addAllObj(), allObj(), allObjects(), destroyObjectLists(), isAcquistionPending(), processResign(), removeAllObj(), saveObjectList(), and throwIfAcquisitionPending().
MAKRti::DtHashList DtObjectMgr::myObjectsByName [protected] |
List of all objects by name.
Referenced by addAllObj(), allObj(), and removeAllObj().
MAKRti::DtHashList DtObjectMgr::myOwnedObjs [protected] |
List of owned objects by handle.
Referenced by addOwnedObj(), autoProvideAttrValueUpdate(), deleteAllOwnedObjects(), divestAllInstances(), notifyDivestedAttributes(), numObjectsOwned(), ownedObj(), ownedObjects(), processRequest(), removeOwnedObj(), sendPendingRegister(), and sendPendingStopUpdates().
MAKRti::DtHashList DtObjectMgr::myOwnedObjsByName [protected] |
List of owned objects by name.
Referenced by addOwnedObj(), ownedObj(), and removeOwnedObj().
Referenced by addPendingDiscovery(), and sendPendingDiscoveries().
Post processing lists.
Referenced by addPendingDivestNotification(), and invokePendingDivestNotification().
Post processing lists.
Referenced by addPendingRegisterForObject(), and sendPendingRegister().
Referenced by addPendingDiscovery(), and sendPendingDiscoveries().
Post processing lists.
Referenced by addPendingRegister(), and sendPendingRegister().
MAKRti::DtList DtObjectMgr::myPendingRemovals [protected] |
Post processing lists.
Referenced by addPendingRemoval(), and sendPendingRemovals().
Post processing lists.
Referenced by addPendingRequestAttrs(), and sendPendingRequestAttributes().
Post processing lists.
Referenced by addPendingStartReg(), and sendPendingStartReg().
Post processing lists.
Referenced by addPendingStartUpdates(), and sendPendingStartUpdates().
Post processing lists.
Referenced by addPendingStopReg(), and sendPendingStopReg().
Post processing lists.
Referenced by addPendingStopUpdates(), and sendPendingStopUpdates().
bool DtObjectMgr::myRestoreInProgress [protected] |
Status of restore.
Referenced by restoreInProgress(), and setRestoreInProgress().
Post processing lists.
Referenced by addPendingSubscription(), and sendPendingSubscription().
bool DtObjectMgr::myReuseIds [protected] |
Unique object IDs have been exhausted, attempt to reuse IDs.
Referenced by uniqueHandle().
DtObjectMgr::DtObjectMgrCreator DtObjectMgr::theCreator = 0 [static, protected] |
The plugin creator.
Referenced by create(), and setCreatorFunction().
DtObjectMgr::DtObjectMgrCreator DtObjectMgr::theInternalCreator = 0 [static, protected] |
The internal creator.
Referenced by create(), and setInternalCreatorFunction().