VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions
DtTransferControlManager Class Reference
+ Inheritance diagram for DtTransferControlManager:
+ Collaboration diagram for DtTransferControlManager:

Public Member Functions

 DtTransferControlManager (DtExerciseConn *exConn)
 
 ~DtTransferControlManager ()
 
virtual void processGainedOwnership (DtHlaObject *hlaObject)
 
virtual void processLostOwnership (DtHlaObject *hlaObject)
 
virtual void sendSetRecordInteraction (DtU32 requestIdentifier)
 Pure virtual functions that are protocol specific and must be defined in subclass. More...
 
virtual void setNewTransferredEntityCallback (DtNewTransferredEntityCb func, void *usr)
 Set the callback function to invoke when gaining ownership of a new entity. More...
 
virtual void setLostOwnershipOfEntityCallback (DtLostOwnershipOfEntityCb func, void *usr)
 Set the callback function to invoke when losing ownership of an entity. More...
 
virtual void setLostOwnershipOfDIGuyCallback (DtLostOwnershipOfDIGuyCb func, void *usr)
 Set the callback function to invoke when losing ownership of a DIGuy Object. More...
 
virtual void processSetRecord (DtSetRecordInteraction *setRec)
 Processes the incoming SetRecord interaction. Tracks the number of records for each individual request ID. More...
 
virtual void invokeNewAndLostObjectCallbacks ()
 Post drain callback that calls both invokeNewObjectCallbacks() and invokeLostObjectCallbacks(). More...
 
virtual void invokeNewObjectCallbacks ()
 Post drain callback that invokes createEntityPublisher function when all related objects have been transferred. More...
 
virtual void invokeLostObjectCallbacks ()
 Post drain callback that invokes createReflectedEntity function when all related objects have been transferred. More...
 
virtual DtEntityPublishercreateEntityPublisher (DtHlaObjectWithStateRep *hlaObj, DtExerciseConn *exConn)
 function that creates new Entity Publishers from transferred objects. More...
 
virtual DtReflectedEntitycreateReflectedEntity (DtHlaObjectWithStateRep *hlaObj, DtExerciseConn *exConn)
 function that creates new reflected entity objects after losing ownership of an object. More...
 
virtual DtReflectedDIGuyObjectcreateReflectedDIGuyObject (DtHlaObjectWithStateRep *hlaObj, DtExerciseConn *exConn)
 function that creates new reflected DIGuy objects after losing ownership of an object. More...
 
- Public Member Functions inherited from DtBaseTransferControlManager
 DtBaseTransferControlManager (DtExerciseConn *exConn)
 
 ~DtBaseTransferControlManager ()
 
virtual void addTransferControlNotificationCallback (DtTransferControlInteractionCb usrCallback, void *user)
 Callbacks for transfer control interactions that are intended for this application. More...
 
virtual void addAcknowledgementNotificationCallback (DtAcknowledgeInteractionCb usrCallback, void *user)
 Callbacks for acknowledgement interactions that match up with requests made. More...
 
virtual void addSetRecordNotificationCallback (DtSetRecordInteractionCb usrCallback, void *user)
 Callbacks for set record interactions that match up with requests made. More...
 
virtual void processTransferControlRequest (DtTransferControlInteraction *tci)
 Processes incoming transfer control requests. More...
 
virtual bool processAcknowledge (DtAcknowledgeInteraction *tci)
 Processes incoming transfer control requests. More...
 
virtual void sendAcknowledgement (DtU32 requestIdentifier, bool approve, DtRecordSetList *recordSetList=nullptr, DtStateRepository *stateRepo=nullptr)
 Send an ackowledgement for a transfer control request specified by the requestIdentifier while indicating approval or disapproval of the transfer. More...
 
virtual void sendSetRecord (DtEntityIdentifier originatingApplicationId, DtU32 requestIdentifier, DtRecordSetList *recordSetList, DtStateRepository *stateRepo)
 Send out the SetRecord interaction for internal data. More...
 
virtual unsigned int sendTransferControlRequest (DtTransferControlInteraction *tci)
 Send the supplied transfer control request. More...
 
virtual unsigned int sendTransferControlRequest (DtEntityIdentifier receivingApplicationId, DtGlobalObjectDesignator transferredEntityId)
 Send a transfer control request with the supplied receiving application identifier and transferred entity identifier. More...
 
virtual
DtTransferControlInteraction
pendingOutgoingTransferRequest (DtU32 requestIdentifier)
 return a pointer to the pending outgoing transfer request with the given requestIdentifier. More...
 
virtual bool getSetRecordTracker (DtU32 requestIdentifier, DtSetRecordTracker &tracker)
 get a DtSetRecordTracker object for the given Request Identifier, returns a bool to indicate success or failure. More...
 
virtual void sendEventReport (DtGlobalObjectDesignator identifier)
 sends out a Ownership Event Report interaction, indicating the new owner of the indicated object More...
 
virtual DtU32 findRequestIdForObject (const DtGlobalObjectDesignator &objDesignator)
 
virtual bool removeObjectFromTransferredSet (const DtGlobalObjectDesignator &objectDesignator, DtU32 requestId)
 
virtual bool isTransferredSetEmpty (DtU32 requestIdentifier) const
 

Static Public Member Functions

static void gainedOwnershipCallback (DtHlaObject *hlaObject, void *usr)
 Static callback function invoked after successfully acquiring an object. More...
 
static void lostOwnershipCallback (DtHlaObject *hlaObject, void *usr)
 Calls processLostOwnership. More...
 
- Static Public Member Functions inherited from DtBaseTransferControlManager
static void transferControlRequestCallback (DtTransferControlInteraction *tci, void *user)
 Callback for incoming Transer Control Requests. More...
 
static void acknowledgeCallback (DtAcknowledgeInteraction *ack, void *user)
 Callback for incoming acknowledgement interactions. More...
 
static void setRecordCallback (DtSetRecordInteraction *setRec, void *user)
 Callback for incoming SetRecord interactions. More...
 
static void postDrainCallback (void *user)
 Post Drain callback. More...
 

Protected Attributes

DtObjClassDescmyPhysicalEntityClassDesc
 
DtObjClassDescmyDiguyClassDesc
 
DtNewTransferredEntityCbInfo myNewTransferredEntityFunc
 
DtLostOwnershipOfEntityCbInfo myLostOwnershipOfEntityFunc
 
DtLostOwnershipOfDIGuyCbInfo myLostOwnershipOfDIGuyFunc
 
std::map< DtU32,
DtHlaObjectWithStateRep * > 
myAcquiredEntitiesMap
 
std::map< DtU32,
DtHlaObjectWithStateRep * > 
myLostEntitiesMap
 
std::map< DtU32,
DtHlaObjectWithStateRep * > 
myLostDIGuyMap
 
- Protected Attributes inherited from DtBaseTransferControlManager
DtExerciseConnmyExConn
 
std::list
< DtTransferControlCbInfo
myTransferControlNotificationCbList
 
std::list
< DtAcknowledgementCbInfo
myAcknowledgementNotificationCbList
 
std::list< DtSetRecordCbInfomySetRecordNotificationList
 
std::map< DtU32,
DtTransferControlInteraction
myIncomingTransferControlRequests
 
std::map< DtU32,
DtTransferControlInteraction
myOutgoingTransferControlRequests
 
std::map
< DtGlobalObjectDesignator,
DtU32
myObjectIdToRequestIdMap
 
std::map< DtU32,
DtSetRecordTracker
mySetRecordTrackerMap
 
std::map< DtU32, std::set
< DtGlobalObjectDesignator > > 
myRequestIdToTransferredObjectListMap
 

Private Member Functions

 DtTransferControlManager (const DtTransferControlManager &orig)
 copy constructor – Not Implemented More...
 
DtTransferControlManageroperator= (const DtTransferControlManager &orig)
 assignment operator – Not Implemented More...
 

Additional Inherited Members

- Protected Member Functions inherited from DtBaseTransferControlManager
virtual void addOutgoingTransferControlRequest (DtTransferControlInteraction *tci)
 Adds the outoing transfer control interaction to a map of outgoing transfer control interactions, sorted by Request Identifier. More...
 
virtual void addIncomingTransferControlRequest (DtTransferControlInteraction *tci)
 Adds the incoming transfer control interaction to a map of incoming transfer control interactions, sorted by Request Identifier. More...
 
virtual void removeOutgoingTransferControlRequest (DtGlobalObjectDesignator identifier)
 Removes the outgoing transfer control interaction to a map of outgoing transfer control interactions, sorted by Request Identifier Called when a transfer completes, either successfully or unsucessfully. More...
 
virtual void removeIncomingTransferControlRequest (DtGlobalObjectDesignator identifier)
 Removes the incoming transfer control interaction to a map of incoming transfer control interactions, sorted by Request Identifier Called when a transfer completes, either successfully or unsucessfully. More...
 

Constructor & Destructor Documentation

DtTransferControlManager::DtTransferControlManager ( DtExerciseConn exConn)
DtTransferControlManager::~DtTransferControlManager ( )
DtTransferControlManager::DtTransferControlManager ( const DtTransferControlManager orig)
private

copy constructor – Not Implemented

Member Function Documentation

virtual DtEntityPublisher* DtTransferControlManager::createEntityPublisher ( DtHlaObjectWithStateRep hlaObj,
DtExerciseConn exConn 
)
virtual

function that creates new Entity Publishers from transferred objects.

Overwrite this to create extended publisher classes.

virtual DtReflectedDIGuyObject* DtTransferControlManager::createReflectedDIGuyObject ( DtHlaObjectWithStateRep hlaObj,
DtExerciseConn exConn 
)
virtual

function that creates new reflected DIGuy objects after losing ownership of an object.

Overwrite this to create extended reflected classes

virtual DtReflectedEntity* DtTransferControlManager::createReflectedEntity ( DtHlaObjectWithStateRep hlaObj,
DtExerciseConn exConn 
)
virtual

function that creates new reflected entity objects after losing ownership of an object.

Overwrite this to create extended reflected classes

static void DtTransferControlManager::gainedOwnershipCallback ( DtHlaObject hlaObject,
void *  usr 
)
static

Static callback function invoked after successfully acquiring an object.

Calls processGainedOwnership

virtual void DtTransferControlManager::invokeLostObjectCallbacks ( )
virtual

Post drain callback that invokes createReflectedEntity function when all related objects have been transferred.

virtual void DtTransferControlManager::invokeNewAndLostObjectCallbacks ( )
virtual

Post drain callback that calls both invokeNewObjectCallbacks() and invokeLostObjectCallbacks().

Implements DtBaseTransferControlManager.

virtual void DtTransferControlManager::invokeNewObjectCallbacks ( )
virtual

Post drain callback that invokes createEntityPublisher function when all related objects have been transferred.

static void DtTransferControlManager::lostOwnershipCallback ( DtHlaObject hlaObject,
void *  usr 
)
static

Calls processLostOwnership.

DtTransferControlManager& DtTransferControlManager::operator= ( const DtTransferControlManager orig)
private

assignment operator – Not Implemented

virtual void DtTransferControlManager::processGainedOwnership ( DtHlaObject hlaObject)
virtual
virtual void DtTransferControlManager::processLostOwnership ( DtHlaObject hlaObject)
virtual
virtual void DtTransferControlManager::processSetRecord ( DtSetRecordInteraction setRec)
virtual

Processes the incoming SetRecord interaction. Tracks the number of records for each individual request ID.

Reimplemented from DtBaseTransferControlManager.

virtual void DtTransferControlManager::sendSetRecordInteraction ( DtU32  requestIdentifier)
virtual

Pure virtual functions that are protocol specific and must be defined in subclass.

Implements DtBaseTransferControlManager.

virtual void DtTransferControlManager::setLostOwnershipOfDIGuyCallback ( DtLostOwnershipOfDIGuyCb  func,
void *  usr 
)
virtual

Set the callback function to invoke when losing ownership of a DIGuy Object.

Returns a DtReflect4edDIGuy pointer. User is reponsible for adding this DtReflectedDIGuy to their reflected list.

virtual void DtTransferControlManager::setLostOwnershipOfEntityCallback ( DtLostOwnershipOfEntityCb  func,
void *  usr 
)
virtual

Set the callback function to invoke when losing ownership of an entity.

Returns a DtReflectedEntity pointer. User is reponsible for adding this DtReflectedEntity to their reflected list as well as removing the matching DtEntityPublisher from their application.

virtual void DtTransferControlManager::setNewTransferredEntityCallback ( DtNewTransferredEntityCb  func,
void *  usr 
)
virtual

Set the callback function to invoke when gaining ownership of a new entity.

Returns a DtEntityPublisher pointer. User is responsible for removing the matching DtReflectedEntity from their DtReflectedEntityList

Member Data Documentation

std::map<DtU32, DtHlaObjectWithStateRep*> DtTransferControlManager::myAcquiredEntitiesMap
protected
DtObjClassDesc* DtTransferControlManager::myDiguyClassDesc
protected
std::map<DtU32, DtHlaObjectWithStateRep*> DtTransferControlManager::myLostDIGuyMap
protected
std::map<DtU32, DtHlaObjectWithStateRep*> DtTransferControlManager::myLostEntitiesMap
protected
DtLostOwnershipOfDIGuyCbInfo DtTransferControlManager::myLostOwnershipOfDIGuyFunc
protected
DtLostOwnershipOfEntityCbInfo DtTransferControlManager::myLostOwnershipOfEntityFunc
protected
DtNewTransferredEntityCbInfo DtTransferControlManager::myNewTransferredEntityFunc
protected
DtObjClassDesc* DtTransferControlManager::myPhysicalEntityClassDesc
protected

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

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)