![]() |
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.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| typedef DtObjectMgr*(* DtObjectMgr::DtObjectMgrCreator)(DtFederateMgr *fedMgr) |
Object manager creator type.
|
protected |
Pending discoveries and non-discoveries.
|
protected |
| typedef std::map<DtObjectInstanceHandle, DtAttributeHandleSet> DtObjectMgr::DtPendingRequestAttrMap |
Map of requested attributes.
|
protected |
Constructor.
References DtLocDelMsg::addCallback(), DtReqDiscObjMsg::addCallback(), DtUnpubObjMsg::addCallback(), DtUnsubObjMsg::addCallback(), DtPubObjMsg::addCallback(), DtMultiNameReservedMsg::addCallback(), DtDeleteRoMsg::addCallback(), DtQueryInterTransportMsg::addCallback(), DtUpdateRoMsg::addCallback(), DtSubObjMsg::addCallback(), DtRegObjMsg::addCallback(), DtDiscObjMsg::addCallback(), DtQueryTransportMsg::addCallback(), DtRequestMsg::addCallback(), DtOwnershipMsg::addCallback(), connectMgr(), 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().
|
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().
|
private |
Copy Constructor not implemented – Copy Not Allowed!
|
protectedvirtual |
Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled.
Referenced by processUpdate().
|
protectedvirtual |
Return true if the channel (region set handle) should be accepted NOTE: This always returns true when DDM is disabled.
|
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().
|
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().
|
protectedvirtual |
Recursively add and remove the DM multicast address of this class and all its subclasses The Rate determines which update rate multicast offsets to join and drop A rate less than zero indicates rate should be retrieved from class A rate equal zero indicates no rate should be used and all offsets are affected.
References connectMgr(), DtObjectClassInfo::destinationAddress(), DtObjectClassInfo::destinationDevice(), DtRIDParameters::enableUpdateRateReduction, fom(), DtConnectionMgr::listenToMulticastGroup(), DtObjectClassInfo::maxSubscribedRate(), params(), DtFomClassMgr::positionOfRate(), and DtObjectClassInfo::subclasses().
Referenced by subscribe().
|
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().
|
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().
|
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().
|
virtual |
Add pending discovery/non-discovery.
References myPendingDiscoveries, myPendingNonDiscoveries, sendDiscoverMsg(), and sendRemoveDiscoverMsg().
Referenced by discoverObject(), processRequestDiscover(), and sendNotDiscoveredMsgForSmartForwarding().
|
virtual |
Add pending divest notification that will get processed during the next tick.
References myPendingDivestNotifications, and DtAttributeHandleSet::setUnion().
|
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().
|
virtual |
Add pending Register for the given object that will get processed during next tick.
References myPendingInstRegisterList, and restoreInProgress().
Referenced by processNotifyAcquire().
|
virtual |
Add pending object removals that will get processed during the next tick.
References myPendingRemovals.
|
virtual |
Add pending request attribute value that will get processed during the next tick.
References myPendingRequestAttrs, and DtAttributeHandleSet::setUnion().
Referenced by processRequest().
|
virtual |
Add pending startRegistration that will get processed during the next tick.
References classRelevanceSwitch(), and myPendingStartRegList.
Referenced by DtObjectClassInfo::publish(), and DtObjectClassInfo::updateRelevance().
|
virtual |
Add pending startUpdates that will get called during the next tick.
References attributeRelevanceSwitch(), and myPendingStartUpdatesList.
|
virtual |
Add pending stopRegistration that will get processed during the next tick.
References classRelevanceSwitch(), and myPendingStopRegList.
Referenced by DtObjectClassInfo::publish(), and DtObjectClassInfo::updateRelevance().
|
virtual |
Add pending stopUpdates that will get called during the next tick.
References attributeRelevanceSwitch(), and myPendingStopUpdatesList.
|
virtual |
Add pending subscription class retransmissions that will get processed during next tick.
References myRetransmitSubClass.
Referenced by processPub().
|
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().
|
virtual |
Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.
References myObjectsByName.
|
virtual |
Add/Remove/Get objects (superset of all objects including MOM) All objects must be in this set.
References myObjects.
|
virtual |
References myAttributeRelevanceSwitch, and restoreInProgress().
Referenced by addPendingStartUpdates(), addPendingStopUpdates(), collectRemoteSubscriptions(), disableAttributeRelevanceSwitch(), enableAttributeRelevanceSwitch(), processDiscover(), processNotifyAcquire(), processResign(), remoteSubscribe(), and remoteUnsubscribe().
|
virtual |
References myAttributeScopeSwitch, and restoreInProgress().
Referenced by disableAttributeScopeSwitch(), discoverObject(), and enableAttributeScopeSwitch().
|
virtual |
Invoke provide for all owned attributes.
References myOwnedObjs, NULL, provideAttrValueUpdate(), DtAttributeHandleSet::size(), and DtRtiObject::updateOnAttrs().
|
virtual |
Cancel an attribute acquisition.
References DtObjectClassInfo::allAttrs(), DtCancelAcquire, DtAttributeHandleSet::getHandle(), DtAttributeHandleSet::isMember(), DtRtiObject::knownClass(), knownObj(), DtRtiObject::owned(), DtRtiObject::pendingUncondRequest(), sendOwnershipMsg(), and DtAttributeHandleSet::size().
|
virtual |
Cancel an attribute divestiture.
References DtObjectClassInfo::allAttrs(), DtRtiObject::cancelDivest(), DtRtiObject::divestingAttrs(), DtAttributeHandleSet::getHandle(), DtAttributeHandleSet::isMember(), DtRtiObject::knownClass(), knownObj(), DtRtiObject::owned(), and DtAttributeHandleSet::size().
|
virtual |
References myClassRelevanceSwitch, and restoreInProgress().
Referenced by addPendingStartReg(), addPendingStopReg(), disableClassRelevanceSwitch(), and enableClassRelevanceSwitch().
|
protectedvirtual |
Collect existing remote subscriptions and apply them to given object Supports attribute advisories when not distributing discovered class.
Actually can report more attributes than required.
References attributeRelevanceSwitch(), DtObjectClassInfo::baseClass(), DtIsFound(), DtObjectClassInfo::handle(), setDiscoveredClass(), DtObjectClassInfo::subscribedFederates(), turnUpdatesOff(), and turnUpdatesOn().
Referenced by processLocDelete(), and processRegister().
|
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().
|
virtual |
References DtFederateMgr::connectMgr(), and federateMgr().
|
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().
|
protectedvirtual |
Delete all objects for which we own the privilege.
References deleteObj(), myOwnedObjs, NULL, DtRtiObject::objHandle(), DtRtiObject::ownPriviledgeToDelete(), and DtRtiMsg::theDefaultTag.
|
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().
|
protectedvirtual |
Remove object from all lists and delete it.
References DtRtiObject::objHandle(), DtRtiObject::objName(), params(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), removeOwnedObj(), and DtRIDParameters::strictNameReservation.
|
protectedvirtual |
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().
|
virtual |
Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References attributeRelevanceSwitch(), and setAttributeRelevanceSwitch().
|
virtual |
Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant.
References attributeScopeSwitch(), and setAttributeScopeSwitch().
|
virtual |
Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References classRelevanceSwitch(), and setClassRelevanceSwitch().
|
protectedvirtual |
Discover this object using the actual and discovered class and the supplied attributes that intersect the federate's subscription(s) Return object if discover successful; otherwise, NULL.
References addAllObj(), addKnownObj(), addPendingDiscovery(), allObj(), attributeScopeSwitch(), RTI::FederateAmbassador::attributesInScope(), connectMgr(), DtRtiObject::createDiscoveredObject(), RTI::FederateAmbassador::discoverObjectInstance(), DtRIDParameters::discoveryMsgBundlingDelay, DtAutoRequestById, DtToWString(), DtConnectionMgr::fedAmb(), fom(), DtRtiObject::knownClassHandle(), knownObj(), NULL, params(), removedObjectIsRetained(), sendDiscoverMsg(), and sendRequestMsg().
Referenced by processNewObj(), and processRegister().
|
protectedvirtual |
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().
|
protectedvirtual |
Divest ownership (unconditionally) of all owned attributes of all objects.
References myOwnedObjs, NULL, DtRtiObject::ownedAttrs(), and releaseOwnership().
Referenced by publish(), and unpublishAttributes().
|
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().
|
virtual |
Enable/Disable attributeRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References attributeRelevanceSwitch(), and setAttributeRelevanceSwitch().
|
virtual |
Enable/Disable attributeScopeAdvisorySwitch 1516 throws exception if call is redundant.
References attributeScopeSwitch(), and setAttributeScopeSwitch().
|
virtual |
Enable/Disable classRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
References classRelevanceSwitch(), and setClassRelevanceSwitch().
|
protectedvirtual |
Return the federate handle used to construct the given object ID.
References DtRIDParameters::maxObjectsPerFederate(), and params().
Referenced by objectWasCreatedByFederate().
|
virtual |
Access to the federate manager.
References myFederateMgr.
Referenced by connectMgr(), fom(), params(), processResign(), and sendPendingRemovals().
|
virtual |
References myFederateMgr.
|
protectedvirtual |
Attempt to find an instance handle that can be re-assigned to a new registration Returns a 0 handle if no free handle found.
References myFreeObjHandle, myKnownObjs, and nextOffsetId().
Referenced by uniqueHandle().
|
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().
|
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().
|
virtual |
Return fom pointer.
References federateMgr(), and DtFederateMgr::fom().
|
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().
|
virtual |
Tells the object manager to ignore the next update for the given object.
References myIgnoreObjects.
|
protectedvirtual |
Invoke pending divest notification.
References RTI::FederateAmbassador::attributeOwnershipDivestitureNotification(), connectMgr(), DtConnectionMgr::fedAmb(), myPendingDivestNotifications, and ownedObj().
Referenced by postTick(), and preTick().
|
protectedvirtual |
Invoke the reflect attribute values update call.
References connectMgr(), DtConnectionMgr::fedAmb(), and RTI::FederateAmbassador::reflectAttributeValues().
Referenced by processUpdate().
|
virtual |
Return true if ownership acquistion is pending for remote attrs.
References DtRtiObject::ifAvailRequestedAttrs(), myObjects, DtAttributeHandleSet::size(), and DtRtiObject::uncondRequestedAttrs().
|
virtual |
Return bool: Was the post join initialization perfomerd?
References myIsJoined.
|
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().
|
virtual |
Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.
References myKnownObjsByName.
|
virtual |
Add/Remove/Get known objects (registered or discovered) All registered and discovered objects must be in this set.
References myKnownObjs.
|
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().
|
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().
|
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.
|
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.
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
virtual |
return the number of owned objects
References myOwnedObjs, and DtRtiObject::ownPriviledgeToDelete().
Referenced by testResign().
|
virtual |
Get an object's class.
References DtRtiObject::knownClassHandle(), and knownObj().
|
virtual |
Get objectHandle from name.
References knownObj(), and DtRtiObject::objHandle().
Referenced by removedObjectIsRetained().
|
virtual |
Get object name from handle.
Returns pointer to internal memory.
References knownObj(), and DtRtiObject::objName().
Referenced by registerObj().
|
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().
|
private |
Assignment not implemented – Assignment Not Allowed!
|
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().
|
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.
|
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().
|
virtual |
Return pointer to RID parameters.
References federateMgr(), and DtFederateMgr::params().
Referenced by addClassMulticast(), deleteObj(), 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().
|
virtual |
Return pointer to RID parameters.
References federateMgr(), and DtFederateMgr::params().
|
virtual |
Post join processing. All managers shall have been created and initialized.
References connectMgr(), myIsJoined, and params().
|
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().
|
virtual |
Prepare the state information to be restored (i.e., clear out existing data).
References destroyObjectLists().
Referenced by DtRtiExecFederateMgr::prepareToRestoreLRC().
|
virtual |
Called before processing messages in RTI ambassador tick / evoke callbacks.
References invokePendingDivestNotification().
Referenced by DtFederateMgr::pretick().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
protectedvirtual |
Process a remote confirm attribute acquisition.
References RTI::FederateAmbassador::confirmAttributeOwnershipAcquisitionCancellation(), connectMgr(), DtConnectionMgr::fedAmb(), knownObj(), and DtRtiObject::removeRequest().
Referenced by processOwnership().
|
protectedvirtual |
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().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
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().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
Process a remote attribute divestiture.
References DtRtiObject::knownClass(), DtObjectClassInfo::publishedAttrs(), DtAttributeHandleSet::setIntersection(), and DtAttributeHandleSet::size().
Referenced by processOwnership().
|
protectedvirtual |
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().
|
protectedvirtual |
Process messages.
References collectRemoteSubscriptions(), DtLocDelMsg::objHandle(), DtRtiObject::ownedAttrs(), ownedObj(), params(), resendRegister(), and DtAttributeHandleSet::size().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
|
staticprotected |
Message callback methods to register with connection manager.
|
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().
|
protectedvirtual |
Assumes we have not yet discovered objHand.
If the object meets our discovery criteria, create a new object, add to the list of known objects, and call discover RTI service. Returns the new object if discovered; otherwise, NULL.
References DtAttributeHandleSet::add(), discoverObject(), DtAttributeHandleSet::getHandle(), DtObjectClassInfo::isSubscribed(), NULL, and DtAttributeHandleSet::size().
|
protectedvirtual |
Process a remote notify attribute acquisition.
References DtRtiObject::acquireRemoteSubscriptions(), DtRtiObject::actualClassHandle(), addOwnedObj(), addPendingRegisterForObject(), RTI::FederateAmbassador::attributeOwnershipAcquisitionNotification(), attributeRelevanceSwitch(), connectMgr(), 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().
|
protectedvirtual |
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().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
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().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
Process a remote attribute ownership queury.
References allObj(), DtInformOwner, DtNotOwned, DtOwnedByRti, DtRtiObject::lrcManaged(), DtRtiObject::owned(), DtRtiObject::rtiOwned(), and sendOwnershipMsg().
Referenced by processOwnership().
|
protectedvirtual |
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().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
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().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
Process messages.
References addPendingDiscovery(), connectMgr(), DtRIDParameters::discoveryMsgBundlingDelay, DtRtiMsg::federateHandle(), DtConnectionMgr::fedHandle(), knownObj(), DtReqDiscObjMsg::objHandle(), DtRtiObject::objHandle(), params(), sendDiscoverMsg(), and sendNotDiscoveredMsgForSmartForwarding().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
|
staticprotected |
Message callback methods to register with connection manager.
|
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().
|
protectedvirtual |
Process messages.
References DtSubObjMsg::attrHandles(), DtFomClassMgr::classByHandle(), connectMgr(), false, DtRtiMsg::federateHandle(), fom(), DtSubObjMsg::isPassive(), DtSubObjMsg::objectClassHandle(), DtObjectClassInfo::remotePassiveSubscribe(), remotePassiveSubscribe(), DtObjectClassInfo::remoteSubscribe(), remoteSubscribe(), remoteUnsubscribe(), DtSubObjMsg::replacement(), and true.
Referenced by DtObjectMgr(), and ~DtObjectMgr().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
Process messages.
References connectMgr(), DtRtiMsg::federateHandle(), and DtConnectionMgr::fedHandle().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
Process messages.
References DtUnsubObjMsg::attrHandles(), DtFomClassMgr::classByHandle(), connectMgr(), DtRtiMsg::federateHandle(), fom(), DtUnsubObjMsg::objectClassHandle(), remoteUnsubscribe(), and DtObjectClassInfo::remoteUnsubscribeAttributes().
Referenced by DtObjectMgr(), and ~DtObjectMgr().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
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().
|
staticprotected |
Message callback methods to register with connection manager.
|
protectedvirtual |
Make the fedAmb call to provide attrValUpdate for this object.
References DtRtiObject::filterOwned(), DtAttributeHandleSet::isEmpty(), and DtRtiObject::objHandle().
Referenced by autoProvideAttrValueUpdate(), and processRequest().
|
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().
|
virtual |
Returns 1 if published the class, 0 otherwise.
References DtFomClassMgr::classByHandle(), fom(), and DtObjectClassInfo::published().
|
protectedvirtual |
Purge entries for recently deleted objects that have timed out.
References myClock, and myDeletedObjects.
Referenced by postTick().
|
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().
|
virtual |
Register a locally simulated object.
References uniqueHandle(), and useHlaNamePrefix().
Referenced by registerObj().
|
virtual |
Register a locally simulated object.
References getUniqueName(), objectName(), registerObj(), and uniqueHandle().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
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().
|
protectedvirtual |
Track passive subscriptions ( no effect on advisories )
References DtRtiObject::discoveredClass(), DtObjectClassInfo::handle(), ownedObjects(), and params().
Referenced by processSub().
|
protectedvirtual |
Add a remote subscription to object known database and determine effects on advisories.
References attributeRelevanceSwitch(), DtRtiObject::discoveredClass(), DtObjectClassInfo::handle(), ownedObjects(), params(), DtObjectClassInfo::remoteSubscription(), DtRtiObject::remoteUnsubscribe(), DtAttributeHandleSet::removeSetIntersection(), DtAttributeHandleSet::size(), turnUpdatesOff(), and turnUpdatesOn().
Referenced by processSub().
|
protectedvirtual |
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().
|
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().
|
protectedvirtual |
Recursively add and remove the DM multicast address of this class and all its subclasses The Rate determines which update rate multicast offsets to join and drop A rate less than zero indicates rate should be retrieved from class A rate equal zero indicates no rate should be used and all offsets are affected.
References connectMgr(), DtObjectClassInfo::destinationAddress(), DtConnectionMgr::dropMulticastGroup(), DtRIDParameters::enableUpdateRateReduction, fom(), DtObjectClassInfo::maxSubscribedRate(), params(), DtFomClassMgr::positionOfRate(), and DtObjectClassInfo::subclasses().
Referenced by unsubscribeAttributes().
|
protectedvirtual |
Check list of objects that have been removed via TSO delete and are unknown to the federate but whose delete time has not passed yet.
Return boolean: is the specified object retained?
References objectHandle().
Referenced by discoverObject().
|
virtual |
Remove an object from all lists.
References DtRtiObject::objHandle(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), and removeOwnedObj().
|
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().
|
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().
|
protectedvirtual |
Remove associations to this object (e.g., regions)
Referenced by destroyObjectLists(), localDeleteObj(), and processDelete().
|
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().
|
virtual |
Request an attribute value update for a class of objects.
References DtObjectClassInfo::attrByHandle(), DtFomClassMgr::classByHandle(), DtRequestByClass, fom(), DtAttributeHandleSet::getHandle(), sendRequestMsg(), and DtAttributeHandleSet::size().
|
virtual |
Request an attribute value update for an object.
References DtObjectClassInfo::allAttrs(), DtRequestById, DtRtiObject::knownClass(), DtAttributeHandleSet::removeSetIntersection(), and DtAttributeHandleSet::size().
|
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().
|
protectedvirtual |
Reset the owner of the object.
References allObj(), and DtRtiObject::setOwnerHandle().
Referenced by processOwnership().
|
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().
|
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().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
protectedvirtual |
TSO removed object may be discovered by other federates but should not be rediscovered by this federate.
Hold onto it until deletion time passes in order to prevent rediscovery
References connectMgr(), DtConnectionMgr::logicalTimeFactory(), DtLogicalTimeFactory::makeInitial(), DtRtiObject::objHandle(), removeAllObj(), removeKnownObj(), removeLrcManagedObj(), and removeOwnedObj().
|
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().
|
protectedvirtual |
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().
|
protectedvirtual |
Return the length of buffer needed to save the state data.
Referenced by save().
|
protectedvirtual |
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().
|
protectedvirtual |
Send various types of RTI messages.
References DtMultiNameReservedMsg::create(), DtDeleteRoMsgKind, DtDeleteTsoMsgKind, NULL, DtDeleteRoMsg::set(), and DtRtiMsg::setFederateHandle().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtDiscObjMsgKind, params(), DtConnectionMgr::sendStampedAndDelete(), and DtDiscObjMsg::set().
Referenced by addPendingDiscovery(), discoverObject(), and processRequestDiscover().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtLocDelMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtLocDelMsg::set().
Referenced by localDeleteObj().
|
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::discoveryMsgBundlingDelay, DtRIDParameters::DtFomTransportTypeUseReliable, DtAttributeHandleSet::getHandle(), DtObjectClassInfo::handle(), params(), sendRemoveDiscoverMsg(), and DtAttributeHandleSet::size().
Referenced by processRegister(), processRequestDiscover(), processUpdate(), and sendNotDiscoveredMsgForSmartForwarding().
|
virtual |
|
protectedvirtual |
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().
|
protectedvirtual |
Send various types of RTI messages.
References DtQueryInterTransportMsg::create(), DtOwnershipMsgKind, and DtOwnershipMsg::set().
|
protectedvirtual |
Send pending discoveries.
References connectMgr(), DtConnectionMgr::create(), DtRIDParameters::discoveryMsgBundlingDelay, DtDiscObjMsgKind, myClock, myNextPendingDiscTime, myPendingDiscoveries, myPendingNonDiscoveries, params(), DtConnectionMgr::sendStampedAndDelete(), DtDiscObjMsg::setClassHandle(), DtDiscObjMsg::setObjHandles(), DtDiscObjMsg::setOwnerHandle(), and DtDiscObjMsg::setRemoveDiscover().
Referenced by postTick().
|
protectedvirtual |
Send pending Register.
References DtRtiObject::actualClass(), connectMgr(), DtObjectClassInfo::isOfClass(), myOwnedObjs, myPendingInstRegisterList, myPendingRegisterList, NULL, ownedObj(), and resendRegister().
Referenced by postTick().
|
protectedvirtual |
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().
|
protectedvirtual |
Send pending request attribute value.
References connectMgr(), DtConnectionMgr::fedAmb(), DtRtiObject::filterOwned(), DtAttributeHandleSet::isEmpty(), myPendingRequestAttrs, DtRtiObject::objHandle(), ownedObj(), and RTI::FederateAmbassador::provideAttributeValueUpdate().
Referenced by postTick().
|
protectedvirtual |
Send pending startRegistration.
References connectMgr(), DtConnectionMgr::fedAmb(), myPendingStartRegList, and RTI::FederateAmbassador::startRegistrationForObjectClass().
Referenced by postTick().
|
protectedvirtual |
Send pending startUpdates.
References connectMgr(), DtConnectionMgr::fedAmb(), myPendingStartUpdatesList, DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), ownedObj(), DtAttributeHandleSet::setIntersection(), and RTI::FederateAmbassador::turnUpdatesOnForObjectInstance().
Referenced by postTick().
|
protectedvirtual |
Send pending stopRegistration.
References DtFomClassMgr::classByHandle(), connectMgr(), DtConnectionMgr::fedAmb(), fom(), myPendingStopRegList, DtObjectClassInfo::published(), and RTI::FederateAmbassador::stopRegistrationForObjectClass().
Referenced by postTick().
|
protectedvirtual |
Send pending stopUpdates.
References connectMgr(), DtConnectionMgr::fedAmb(), DtRtiObject::knownClassHandle(), myOwnedObjs, myPendingStopUpdatesList, DtRtiObject::objHandle(), DtRtiObject::ownedAttrs(), DtAttributeHandleSet::setIntersection(), and RTI::FederateAmbassador::turnUpdatesOffForObjectInstance().
Referenced by postTick().
|
protectedvirtual |
Send pending subscription class retransmissions.
References DtFomClassMgr::classByHandle(), connectMgr(), fom(), DtObjectClassInfo::handle(), DtAttributeHandleSet::isEmpty(), myRetransmitSubClass, sendSubscribeMsg(), and DtObjectClassInfo::subscribedActiveAttrs().
Referenced by postTick().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtPubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtPubObjMsg::set().
Referenced by publish().
|
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().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtDiscObjMsgKind, params(), DtConnectionMgr::sendStampedAndDelete(), and DtDiscObjMsg::set().
Referenced by addPendingDiscovery(), processRegister(), and sendNotDiscoveredMsgForSmartForwarding().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtReqDiscObjMsgKind, params(), DtConnectionMgr::sendStampedAndDelete(), and DtReqDiscObjMsg::set().
Referenced by processNotifyAcquire().
|
protectedvirtual |
Send various types of RTI messages.
References DtMultiNameReservedMsg::create(), DtRequestMsgKind, and DtRequestMsg::set().
Referenced by discoverObject(), and requestClassUpdate().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtSubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtSubObjMsg::set().
Referenced by processPub(), sendPendingSubscription(), and subscribe().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtUnpubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtUnpubObjMsg::set().
Referenced by unpublishAttributes().
|
protectedvirtual |
Send various types of RTI messages.
References connectMgr(), DtConnectionMgr::create(), DtUnsubObjMsgKind, DtConnectionMgr::sendStampedAndDelete(), and DtUnsubObjMsg::set().
Referenced by unsubscribeAttributes().
|
virtual |
Implements update attribute values Checks attributes definition and ownership Return retraction handle serial number.
References DtRtiObject::actualClass(), DtObjectClassInfo::attrByHandle(), errorChecking, and DtRtiObject::owned().
|
virtual |
Generate and transmit update attribute value messages Return retraction handle serial number.
References DtAttrSetLists::add(), DtRtiObject::attrHasDimensions(), DtRIDParameters::DtFomTransportTypeUseBestEffort, DtRIDParameters::DtFomTransportTypeUseFomSettings, DtRIDParameters::DtFomTransportTypeUseReliable, DtUpdateMomFederateObject, DtUpdateMomFederationObject, enableUpdateRateReduction, DtObjectClassInfo::handle(), NULL, DtRtiObject::regionSetHandle(), DtRtiObject::updateType(), and useRtiExec.
|
protectedvirtual |
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().
|
virtual |
Set the order type of the attribute instance.
References DtRIDParameters::errorChecking, DtAttributeHandleSet::getHandle(), knownObj(), DtRtiObject::owned(), params(), DtRtiObject::setAttrOrder(), and DtAttributeHandleSet::size().
|
virtual |
Set/Get value of attributeRelevanceAdvisorySwitch.
References myAttributeRelevanceSwitch.
Referenced by disableAttributeRelevanceSwitch(), and enableAttributeRelevanceSwitch().
|
virtual |
Set/Get value of attributeScopeAdvisorySwitch.
References myAttributeScopeSwitch.
Referenced by disableAttributeScopeSwitch(), and enableAttributeScopeSwitch().
|
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().
|
virtual |
Set/Get value of classRelevanceAdvisorySwitch.
References myClassRelevanceSwitch.
Referenced by disableClassRelevanceSwitch(), and enableClassRelevanceSwitch().
|
static |
Register a creator function.
When set, it will be used to create the Object Manager.
References create(), DtBindCreator(), and theCreator.
|
protectedvirtual |
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().
|
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.
|
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.
|
virtual |
Subscribe specified class attributes.
References addClassMulticast(), DtObjectClassInfo::attrByHandle(), DtFomClassMgr::classByHandle(), errorChecking, fom(), DtAttributeHandleSet::getHandle(), params(), sendSubscribeMsg(), DtAttributeHandleSet::size(), DtObjectClassInfo::subscribe(), and DtObjectClassInfo::subscribed().
|
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().
|
protectedvirtual |
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().
|
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().
|
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().
|
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().
|
virtual |
Explicit unpublish of specified attributes.
References DtFomClassMgr::classByHandle(), and fom().
Referenced by unpublishClass().
|
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().
|
virtual |
Unpublishes all attributes but privilege to delete is implicit.
References DtObjectClassInfo::allAttrs(), DtFomClassMgr::classByHandle(), fom(), and unpublishAttributes().
|
virtual |
Unsubscribe specified class attributes.
References DtObjectClassInfo::attrByHandle(), DtFomClassMgr::classByHandle(), errorChecking, fom(), DtAttributeHandleSet::getHandle(), params(), DtAttributeHandleSet::size(), and DtObjectClassInfo::subscribed().
Referenced by unsubscribeClass().
|
virtual |
Unsubscribe specified class attributes.
References DtObjectClassInfo::handle(), removeClassMulticast(), sendUnsubscribeMsg(), DtObjectClassInfo::subscribed(), and DtObjectClassInfo::unsubscribeAttributes().
|
virtual |
Unsubscribe from all attributes of specified class.
References DtObjectClassInfo::allAttrs(), DtFomClassMgr::classByHandle(), fom(), DtObjectClassInfo::subscribed(), and unsubscribeAttributes().
|
virtual |
Get switch to use HLA prefix for object names.
References DtRIDParameters::enableHlaObjectNamePrefix, and params().
Referenced by DtObjectMgr(), and registerObj().
|
protected |
Map of routing addresses by region set handle.
Referenced by destroyObjectLists().
|
protected |
Advisory switches.
Referenced by attributeRelevanceSwitch(), DtObjectMgr(), restore(), save(), and setAttributeRelevanceSwitch().
|
protected |
Advisory switches.
Referenced by attributeScopeSwitch(), DtObjectMgr(), restore(), save(), and setAttributeScopeSwitch().
|
protected |
Advisory switches.
Referenced by classRelevanceSwitch(), DtObjectMgr(), restore(), save(), and setClassRelevanceSwitch().
|
protected |
Clock for timing.
Referenced by processDelete(), processNotifyAcquire(), purgeDeletedObjects(), registerObj(), and sendPendingDiscoveries().
|
protected |
Set of objects that have been recently deleted that will not be discovered via update.
Referenced by processDelete(), processUpdate(), and purgeDeletedObjects().
|
protected |
Access to the federate manager.
Referenced by DtObjectMgr(), and federateMgr().
|
protected |
The next free object handle.
Referenced by findReusableHandle(), nextOffsetId(), restore(), save(), and uniqueHandle().
|
protected |
The HLA object instance name prefix.
Referenced by DtObjectMgr(), and getUniqueName().
|
protected |
Set of object handles whose next updates should be ignored.
Referenced by ignoreNextUpdate(), and processUpdate().
|
protected |
Manager has performed join processing.
Referenced by isPostJoined(), and postJoinInit().
|
protected |
List of known objects by handle.
Referenced by addKnownObj(), findReusableHandle(), knownObj(), knownObjects(), and removeKnownObj().
|
protected |
List of known objects by name.
Referenced by addKnownObj(), knownObj(), and removeKnownObj().
|
protected |
Post processing lists.
Referenced by localDeleteObj(), and processRegister().
|
protected |
List of LRC owned objects by handle.
Referenced by addLrcManagedObj(), lrcManagedObj(), lrcManagedObjects(), and removeLrcManagedObj().
|
protected |
List of LRC owned objects by name.
Referenced by addLrcManagedObj(), lrcManagedObj(), and removeLrcManagedObj().
|
protected |
Next time we should send pending discovery messages.
Referenced by sendPendingDiscoveries().
|
protected |
List of all objects by handle.
Referenced by addAllObj(), allObj(), allObjects(), destroyObjectLists(), isAcquistionPending(), processResign(), removeAllObj(), saveObjectList(), and throwIfAcquisitionPending().
|
protected |
List of all objects by name.
Referenced by addAllObj(), allObj(), and removeAllObj().
|
protected |
List of owned objects by handle.
Referenced by addOwnedObj(), autoProvideAttrValueUpdate(), deleteAllOwnedObjects(), divestAllInstances(), notifyDivestedAttributes(), numObjectsOwned(), ownedObj(), ownedObjects(), processRequest(), removeOwnedObj(), sendPendingRegister(), and sendPendingStopUpdates().
|
protected |
List of owned objects by name.
Referenced by addOwnedObj(), ownedObj(), and removeOwnedObj().
|
protected |
Referenced by addPendingDiscovery(), and sendPendingDiscoveries().
|
protected |
Post processing lists.
Referenced by addPendingDivestNotification(), and invokePendingDivestNotification().
|
protected |
Post processing lists.
Referenced by addPendingRegisterForObject(), and sendPendingRegister().
|
protected |
Referenced by addPendingDiscovery(), and sendPendingDiscoveries().
|
protected |
Post processing lists.
Referenced by addPendingRegister(), and sendPendingRegister().
|
protected |
Post processing lists.
Referenced by addPendingRemoval(), and sendPendingRemovals().
|
protected |
Post processing lists.
Referenced by addPendingRequestAttrs(), and sendPendingRequestAttributes().
|
protected |
Post processing lists.
Referenced by addPendingStartReg(), and sendPendingStartReg().
|
protected |
Post processing lists.
Referenced by addPendingStartUpdates(), and sendPendingStartUpdates().
|
protected |
Post processing lists.
Referenced by addPendingStopReg(), and sendPendingStopReg().
|
protected |
Post processing lists.
Referenced by addPendingStopUpdates(), and sendPendingStopUpdates().
|
protected |
Status of restore.
Referenced by restoreInProgress(), and setRestoreInProgress().
|
protected |
Post processing lists.
Referenced by addPendingSubscription(), and sendPendingSubscription().
|
protected |
Unique object IDs have been exhausted, attempt to reuse IDs.
Referenced by uniqueHandle().
|
staticprotected |
The plugin creator.
Referenced by create(), and setCreatorFunction().
|
staticprotected |
The internal creator.
Referenced by create(), and setInternalCreatorFunction().